[Libreoffice-commits] dev-tools.git: 2 commits - esc-reporting/esc-analyze.py esc-reporting/esc-report.py scripts/Bugzilla.pm scripts/build-portal.pl scripts/esc-bug-stats.pl
jan Iversen
jani at libreoffice.org
Thu Apr 27 12:26:22 UTC 2017
esc-reporting/esc-analyze.py | 2
esc-reporting/esc-report.py | 331 +++++++--------------------------
scripts/Bugzilla.pm | 156 ---------------
scripts/build-portal.pl | 65 ------
scripts/esc-bug-stats.pl | 420 -------------------------------------------
5 files changed, 80 insertions(+), 894 deletions(-)
New commits:
commit 130167c4d178b01a86ca5059830d4e5d0868a7e1
Author: jan Iversen <jani at libreoffice.org>
Date: Thu Apr 27 14:25:55 2017 +0200
axed ESC script after agreement with mmeeks
diff --git a/scripts/Bugzilla.pm b/scripts/Bugzilla.pm
deleted file mode 100644
index 6d84135..0000000
--- a/scripts/Bugzilla.pm
+++ /dev/null
@@ -1,156 +0,0 @@
-package Bugzilla;
-
-use strict;
-use warnings;
-use URI::Escape qw(uri_escape);
-
-our ($bugserver);
-our @EXPORT_OK = qw(bugserver get_url get_deps get_query read_bugstats);
-
-# Please take the time to check that the script still runs
-# before changing this to something else.
-$bugserver = "bugs.documentfoundation.org";
-
-# use me for testing XML pretty printing etc.
-my $fast_debug = 0;
-
-sub get_url($)
-{
- my $url = shift;
- my @lines;
- my $handle;
- open ($handle, "curl -A 'Mozilla/4.0' -k -s '$url' 2>&1 |") || die "can't exec curl: $!";
- while (<$handle>) {
- push @lines, $_;
- }
- close ($handle);
- return @lines;
-}
-
-sub get_deps($)
-{
- my ($url) = @_;
-
- return 42 if ($fast_debug);
-
- my @bugs = get_url($url);
-
- my $bug_count = -1;
- while (my $line = shift (@bugs)) {
- if ($line =~ m/does not depend on any open bugs/) {
- $bug_count = 0;
- last;
- }
- elsif ($line =~ m/^\s*depends on\s*$/) {
- $line = shift @bugs;
-# print STDERR "Have depends on '$line'\n";
- if ($line =~ m/^\s*(\d+)\s*$/) {
- my $num = $1;
- $line = shift @bugs;
- $line = shift @bugs;
- if ($line =~ m/bugs:/) {
- $bug_count = $num;
- last;
- }
- } elsif ($line =~ m/\s+one\s+/) { # special case for one
- $bug_count = 1;
- last;
- } else {
- print STDERR "odd depends on follow-on: '$line'\n";
- }
- }
- }
- return $bug_count;
-}
-
-sub get_query($)
-{
- my ($url) = @_;
-
- return 6 if ($fast_debug);
-
- my @bugs = get_url($url);
-
- my $bug_count = -1;
- while (my $line = shift (@bugs)) {
- if ($line =~ m/<span class="bz_result_count">(\d+) bugs found./) {
- $bug_count = $1;
- last;
- } elsif ($line =~ m/One bug found./) {
- $bug_count = 1;
- last;
- } elsif ($line =~ m/Zarro Boogs found./) {
- $bug_count = 0;
- last;
- }
- }
- return $bug_count;
-}
-
-sub extract_number($)
-{
- my $line = shift;
- chomp ($line);
- $line =~ s/^.*\"\>//;
- $line =~ s/<.*$//;
- return $line;
-}
-
-sub read_bugstats($)
-{
- my @lines = get_url(shift);
-
- my $debug = 0;
-
- my $region = 'header';
- my $closer_name;
- my %closed_stats;
- my $delta = 0;
-
- while ((my $line = shift @lines) && $region ne 'end') {
- print STDERR "$region -> $line\n" if ($debug);
- if ($region eq 'header' && $line =~ /<h2>Top .* modules<\/h2>/) {
- $region = 'top-modules';
-
- } elsif ($region eq 'top-modules' &&
- $line =~ /<td>LibreOffice<\/td>/) {
- my ($total, $opened, $closed);
- $total = extract_number (shift @lines);
- $opened = extract_number (shift @lines);
- $closed = extract_number (shift @lines);
- my $sign = '', $delta = $opened + $closed;
- $sign = '+' if ($delta > 0);
- print STDERR " $opened $closed ($sign$delta overall)\n";
- $region = 'seek-end-top-modules';
-
- } elsif ($region eq 'seek-end-top-modules' &&
- $line =~ /<h2>Top .* bug closers<\/h2>/) {
- $region = 'top-closers';
-
- } elsif ($region eq 'top-closers' && $line =~ m/<tr class/) {
- undef $closer_name;
- $region = 'top-closer-name';
-
- } elsif (($region eq 'top-closers' || $region eq 'top-closer-name') &&
- ($line =~ m/<\/table>/ || $line =~ m/Top .* bug reporters/)) {
- $region = 'end';
-
- } elsif ($region eq 'top-closer-name' && $line =~ m/<span class=".*">(.*)<\/span>/) {
- $closer_name = $1;
- print STDERR "$closer_name\n" if ($debug);
- $region = 'top-closer-count';
-
- } elsif ($region eq 'top-closer-count' && $line =~ m/">([0-9]+)<\/a><\/td>/) {
- die "no closer name for '$line'" if (!defined $closer_name);
- $closed_stats{$closer_name} = $1;
- print STDERR "\tRecord: $closer_name -> $1\n" if ($debug);
- $region = 'top-closers'
- }
- }
-
- $region eq 'end' || die "Failed to parse weekly bug summary - in region '$region'";
-
- return \%closed_stats;
-}
-
-1;
diff --git a/scripts/build-portal.pl b/scripts/build-portal.pl
deleted file mode 100755
index 2e8edcc..0000000
--- a/scripts/build-portal.pl
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/perl -w
-
-use FindBin;
-use lib "$FindBin::Bin";
-
-use strict;
-use Bugzilla;
-
-my $git_dir = '/opt/libreoffice/push-tree';
-
-# FIXME: add a re-build-section thing ...
-# German comments: overall stats ... smallest <N> modules ...
-# a bit of text on how to fix that etc.
-
-sub usage()
-{
- print "build-portal.pl [--help] [--git path/to/git/repo]\n";
- exit 1;
-}
-
-sub read_dialogs($)
-{
- my $dialogs = shift;
-
- my $pipe;
- open ($pipe, "(cd $git_dir ; bin/count-todo-dialogs)|") || die "can't count dialogs: $!";
- while (<$pipe>) {
- my $line = $_;
- if (m/(\d+) \.ui files currently/) {
- $dialogs->{ui_files} = $1;
- } elsif (m/There are (\d+) unconverted dialogs/) {
- $dialogs->{ui_dialogs} = $1;
- } elsif (m/There are (\d+) unconverted tabpages/) {
- $dialogs->{ui_tabpages} = $1;
- }
- }
- close ($pipe);
-}
-
-while (my $arg = shift(@ARGV)) {
- usage() if ($arg eq '--help' || $arg eq '-h');
-}
-
-my %dialogs;
-
-read_dialogs(\%dialogs);
-
-print << "EOF"
-<html>
-<header>
-LibreOffice Development Portal
-</header>
-<body>
- <div>
- <p><strong>UI dialogs</strong</p>
- <p>$dialogs{ui_files} UI files</p>
- <p>$dialogs{ui_dialogs} dialogs left</p>
- <p>$dialogs{ui_tabpages} tab-pages left</p>
- <a href="FIXME: Caolan's write-up">Get Involved</a>
- </div>
-</body>
-</html>
-EOF
- ;
-
diff --git a/scripts/esc-bug-stats.pl b/scripts/esc-bug-stats.pl
deleted file mode 100755
index 24f7d3f..0000000
--- a/scripts/esc-bug-stats.pl
+++ /dev/null
@@ -1,420 +0,0 @@
-#!/usr/bin/perl -w
-
-use FindBin;
-use lib "$FindBin::Bin";
-
-use strict;
-use warnings;
-use Bugzilla;
-
-my @time = localtime;
-$time[5] += 1900;
-$time[4]++;
-
-my $date_value = sprintf "%04d-%02d-%02d", @time[5,4,3];
-
-my %obsolete_components = ( 'Migration' => 1 );
-
-sub build_overall_bugstats()
-{
- print STDERR "Querying overall / top bug stats\n";
- my $bugserver = $Bugzilla::bugserver;
- my $url = "https://$bugserver/page.cgi?id=weekly-bug-summary.html";
-
- print STDERR " + $url\n";
- my $closed_stats = Bugzilla::read_bugstats($url);
-
- print STDERR " many thanks to the top bug squashers:\n";
- for my $name (sort { $closed_stats->{$b} <=> $closed_stats->{$a} } keys %{$closed_stats}) {
- printf STDERR " %-22s%2s\n", $name, $closed_stats->{$name};
- }
-}
-
-sub print_component_counts($$$)
-{
- my ($title, $link, $component_count) = @_;
-
- print STDERR "\t* ~Component count net * $title\n";
- for my $component (sort { $component_count->{$b} <=> $component_count->{$a} } keys %{$component_count}) {
- my $count = $component_count->{$component};
- die "Error on $component - $count" if ($count < 0);
- if (!defined $obsolete_components{$component} && $count > 0) {
- printf STDERR "\t %23s - %2d (+?)\n", $component, $count;
- }
- }
- print STDERR "\t\t+ $link\n";
- printf STDERR "\n";
-}
-
-my %ver_open;
-my %ver_total;
-
-build_overall_bugstats();
-
-my %rseries =
- ( '5.3' => '5.3',
- '5.2' => '5.2',
- '5.1' => '5.1',
- '5.0' => '5.0',
- '4.5' => '5.0', # urgh
- '4.4' => '4.4',
- '4.3' => '4.3',
- '4.2' => '4.2',
- '4.1' => '4.1',
- '4.0' => '4.0',
- '3.6' => 'old',
- '3.5' => 'old',
- '3.4' => 'old',
- '3.3' => 'old',
- 'Inherited from OOo' => 'old',
- 'PreBibisect' => 'old',
- 'unspecified' => 'old'
-);
-
-print STDERR "Querying for open, highest-Priority bugs (aka \"MABs\"):\n";
-for my $rs (keys %rseries) {
- my $highest = "https://$Bugzilla::bugserver/buglist.cgi?f1=version&o1=regexp&priority=highest&product=LibreOffice&v1=^" . $rs . ".*";
-
- my $all = Bugzilla::get_query($highest);
- my $open = Bugzilla::get_query($highest . "&resolution=---");
-
- my $bucket = $rseries{$rs};
- $ver_open{$bucket} += $open;
- $ver_total{$bucket} += $all;
-}
-
-for my $bucket (sort { $b cmp $a } keys %ver_open) {
- my $open = $ver_open{$bucket};
- my $all = $ver_total{$bucket};
- my $percent = sprintf("%2d", $all ? (($open * 100.0) / $all) : 0);
- print STDERR " $bucket: $open/$all - $percent%\n";
-}
-
-print STDERR "Querying for bisection:\n";
-my $bisect_query = "https://$Bugzilla::bugserver/buglist.cgi?keywords=bisected%2C&keywords_type=allwords&limit=0&order=tag DESC%2Cchangeddate DESC%2Cversion DESC%2Cpriority%2Cbug_severity&product=LibreOffice&query_format=advanced";
-my $bisect_open_query = "https://$Bugzilla::bugserver/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&keywords=bisected%2C&keywords_type=allwords&product=LibreOffice&query_format=advanced&resolution=---";
-
-my ($all, $open);
-$all = Bugzilla::get_query($bisect_query);
-$open = Bugzilla::get_query($bisect_open_query);
-print STDERR "\n";
-print STDERR "* bisected bugs open: keyword 'bisected'\n";
-print STDERR "\t+ more accurate - down to a single commit.\n";
-print STDERR "\t+ $open (of $all) older ?\n";
-print STDERR "\t\t+ https://bugs.documentfoundation.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&keywords=bisected%2C&keywords_type=allwords&query_format=advanced&resolution=---\n";
-print STDERR "\n";
-
-print STDERR "Querying for bibisection:\n";
-my $bibisect_query = "https://$Bugzilla::bugserver/buglist.cgi?f2=status_whiteboard&f3=OP&f4=keywords&f5=status_whiteboard&j3=OR&known_name=BibisectedAll&limit=0&list_id=579989&n2=1&o1=substring&o2=substring&o4=substring&o5=substring&order=changeddate DESC%2Cop_sys%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&product=LibreOffice&query_format=advanced&resolution=---&resolution=FIXED&resolution=INVALID&resolution=WONTFIX&resolution=DUPLICATE&resolution=WORKSFORME&resolution=MOVED&resolution=NOTABUG&resolution=NOTOURBUG&v1=bibisected&v2=bibisected35older&v4=bibisected&v5=bibisected";
-my $bibisect_open_query = "https://$Bugzilla::bugserver/buglist.cgi?f2=status_whiteboard&f3=OP&f4=keywords&f5=status_whiteboard&j3=OR&known_name=Bibisected&list_id=579994&n2=1&o1=substring&o2=substring&o4=substring&o5=substring&product=LibreOffice&query_based_on=Bibisected&query_format=advanced&resolution=---&v1=bibisected&v2=bibisected35older&v4=bibisected&v5=bibisected";
-
-my ($all, $open);
-$all = Bugzilla::get_query($bibisect_query);
-$open = Bugzilla::get_query($bibisect_open_query);
-print STDERR "\n";
-print STDERR "* Bibisected bugs open: keyword 'bibisected'\n";
-print STDERR "\t+ $open (of $all) older ?\n";
-print STDERR "\t\t+ https://bugs.documentfoundation.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&f1=keywords&known_name=LibreOffice%20Bi-bisected&o1=substring&product=LibreOffice&query_based_on=LibreOffice%20Bi-bisected&query_format=advanced&resolution=---&v1=bibisected\n";
-print STDERR "\n";
-
-
-my ($reg_all, $reg_open, $reg_high);
-
-print STDERR "Querying for regressions:\n";
-my $high_fragment = "bug_severity=blocker&bug_severity=critical";
-my $regression_query="https://$Bugzilla::bugserver/buglist.cgi?columnlist=bug_severity%2Cpriority%2Ccomponent%2Cop_sys%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc&keywords=regression%2C%20&keywords_type=allwords&list_id=267671&product=LibreOffice&query_format=advanced&order=bug_id&limit=0";
-my $regression_open_query="https://$Bugzilla::bugserver/buglist.cgi?keywords=regression%2C%20&keywords_type=allwords&list_id=267687&columnlist=bug_severity%2Cpriority%2Ccomponent%2Cop_sys%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc&resolution=---&query_based_on=Regressions&query_format=advanced&product=LibreOffice&known_name=Regressions&limit=0";
-my $regression_high_query= "$regression_open_query&$high_fragment&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED";
-
-$reg_all = Bugzilla::get_query($regression_query);
-$reg_open = Bugzilla::get_query($regression_open_query);
-$reg_high = Bugzilla::get_query($regression_high_query);
-
-print STDERR "* all bugs tagged with 'regression'\n";
-print STDERR "\t+ $reg_open(+?) bugs open of $reg_all(+?) total $reg_high high prio.\n";
-print STDERR "\n";
-
-my %component_count;
-my %high_component_count;
-
-# custom pieces
-$component_count{'Migration'} = 0; # aBugzilla::get_deps("https://$Bugzilla::bugserver/showdependencytree.cgi?id=43489&hide_resolved=1"); - kill for now.
-$component_count{'Crashes'} = Bugzilla::get_query("https://$Bugzilla::bugserver/buglist.cgi?keywords=regression&keywords_type=allwords&list_id=296015&short_desc=crash&query_based_on=CrashRegressions&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&short_desc_type=allwordssubstr&product=LibreOffice&known_name=CrashRegressions");
-$component_count{'Borders'} = Bugzilla::get_query("https://$Bugzilla::bugserver/buglist.cgi?keywords=regression&keywords_type=allwords&list_id=296016&short_desc=border&query_based_on=BorderRegressions&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&short_desc_type=allwordssubstr&product=LibreOffice&known_name=BorderRegressions");
-$component_count{'Writer: docx filter'} = Bugzilla::get_query("https://$Bugzilla::bugserver/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=PLEASETEST&component=Writer&keywords=regression%2C filter%3Adocx%2C &keywords_type=allwords&product=LibreOffice&query_format=advanced");
-$component_count{'Writer: doc filter'} = Bugzilla::get_query("https://$Bugzilla::bugserver/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=PLEASETEST&component=Writer&keywords=regression%2C filter%3Adoc%2C &keywords_type=allwords&product=LibreOffice&query_format=advanced");
-$component_count{'Writer: other filter'} = Bugzilla::get_query("https://$Bugzilla::bugserver//buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=PLEASETEST&component=Writer&f1=keywords&f2=keywords&keywords=regression%2C&keywords_type=allwords&o1=nowords&o2=substring&product=LibreOffice&query_format=advanced&v1=filter%3Adocx%2C filter%3Adoc&v2=filter%3A");
-$component_count{'Writer: perf'} = Bugzilla::get_query("https://$Bugzilla::bugserver/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=PLEASETEST&component=Writer&keywords=regression%2C perf%2C &keywords_type=allwords&product=LibreOffice&query_format=advanced");
-$component_count{'Writer: other'} = Bugzilla::get_query("https://$Bugzilla::bugserver/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=PLEASETEST&component=Writer&f1=keywords&keywords=regression%2C&keywords_type=allwords&o1=nowordssubstr&product=LibreOffice&query_format=advanced&v1=filter%3A%2C perf");
-
-
-my @reg_toquery = ( 'Calc', 'Impress', 'Base', 'Draw', 'LibreOffice', 'Writer', 'BASIC', 'Chart', 'Extensions', 'Formula Editor', 'Impress Remote', 'Installation', 'Linguistic', 'Printing and PDF export', 'UI', 'filters and storage', 'framework', 'graphics stack', 'sdk' );
-for my $component (@reg_toquery) {
- my $component_uri = Bugzilla::uri_escape($component);
- my $query_url = "https://$Bugzilla::bugserver/buglist.cgi?keywords=regression&keywords_type=allwords&list_id=296025&query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=PLEASETEST&component=$component_uri&product=LibreOffice";
- $component_count{$component} = Bugzilla::get_query("$query_url");
- $high_component_count{$component} = Bugzilla::get_query("$query_url&$high_fragment");
-}
-
-print_component_counts("high severity regressions", "http://bit.ly/1HWHb3E", \%high_component_count);
-print_component_counts("all regressions", "http://bit.ly/1BUdI8i", \%component_count);
-
-print << "EOF"
-<?xml version="1.0" encoding="UTF-8"?>
-<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
- xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
- xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
- xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
- xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
- xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
- xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
- xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
- xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
- xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
- xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
- xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
- xmlns:math="http://www.w3.org/1998/Math/MathML"
- xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
- xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
- xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0"
- xmlns:ooo="http://openoffice.org/2004/office"
- xmlns:ooow="http://openoffice.org/2004/writer"
- xmlns:oooc="http://openoffice.org/2004/calc"
- xmlns:dom="http://www.w3.org/2001/xml-events"
- xmlns:xforms="http://www.w3.org/2002/xforms"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:rpt="http://openoffice.org/2005/report"
- xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
- xmlns:xhtml="http://www.w3.org/1999/xhtml"
- xmlns:grddl="http://www.w3.org/2003/g/data-view#"
- xmlns:tableooo="http://openoffice.org/2009/table"
- xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0"
- xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
- xmlns:css3t="http://www.w3.org/TR/css3-text/"
- office:version="1.2"
- grddl:transformation="http://docs.oasis-open.org/office/1.2/xslt/odf2rdf.xsl"
- office:mimetype="application/vnd.oasis.opendocument.spreadsheet">
- <office:styles>
- <style:style style:name="boldheader" style:family="table-cell" style:parent-style-name="Default">
- <style:text-properties fo:font-style="italic" fo:font-weight="bold"/>
- </style:style>
- <number:date-style style:name="isodatenum">
- <number:year number:style="long"/>
- <number:text>-</number:text>
- <number:month number:style="long"/>
- <number:text>-</number:text>
- <number:day number:style="long"/>
- </number:date-style>
- <style:style style:name="isodate" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="isodatenum">
- <style:text-properties style:text-position=""/>
- </style:style>
-
- </office:styles>
- <office:body>
- <office:spreadsheet>
- <table:table table:name="Data">
-
- <table:table-row table:style-name="ro2">
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Date</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Open Old</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Closed Old</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Open 4.0</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Closed 4.0</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Open 4.1</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Closed 4.1</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Open 4.2</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Closed 4.2</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Open 4.3</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Closed 4.3</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Open 4.4</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Closed 4.4</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Open 5.0</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Closed 5.0</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Open 5.1</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Closed 5.1</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Open 5.2</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Closed 5.2</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Total Old</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Total 4.0</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Total 4.1</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Total 4.2</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Total 4.3</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Total 4.4</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Total 5.0</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Total 5.1</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Total 5.2</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Total Open</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="string" calcext:value-type="string">
- <text:p>Total Closed</text:p>
- </table:table-cell>
- <table:table-cell table:number-columns-repeated="11"/>
- </table:table-row>
-
- <table:table-row table:style-name="ro1">
- <table:table-cell table:style-name="isodate" office:value-type="date" office:date-value="$date_value" calcext:value-type="date">
- <text:p>$date_value</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="float" office:value="$ver_open{'old'}" calcext:value-type="float"/>
- <table:table-cell table:formula="of:=[.T2]-[.B2]" office:value-type="float" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_open{'4.0'}" calcext:value-type="float"/>
- <table:table-cell table:formula="of:=[.U2]-[.D2]" office:value-type="float" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_open{'4.1'}" calcext:value-type="float"/>
- <table:table-cell table:formula="of:=[.V2]-[.F2]" office:value-type="float" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_open{'4.2'}" calcext:value-type="float"/>
- <table:table-cell table:formula="of:=[.W2]-[.H2]" office:value-type="float" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_open{'4.3'}" calcext:value-type="float"/>
- <table:table-cell table:formula="of:=[.X2]-[.J2]" office:value-type="float" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_open{'4.4'}" calcext:value-type="float"/>
- <table:table-cell table:formula="of:=[.Y2]-[.L2]" office:value-type="float" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_open{'5.0'}" calcext:value-type="float"/>
- <table:table-cell table:formula="of:=[.Z2]-[.N2]" office:value-type="float" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_open{'5.1'}" calcext:value-type="float"/>
- <table:table-cell table:formula="of:=[.AA2]-[.P2]" office:value-type="float" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_open{'5.2'}" calcext:value-type="float"/>
- <table:table-cell table:formula="of:=[.AB2]-[.R2]" office:value-type="float" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_total{'old'}" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_total{'4.0'}" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_total{'4.1'}" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_total{'4.2'}" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_total{'4.3'}" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_total{'4.4'}" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_total{'5.0'}" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_total{'5.1'}" calcext:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$ver_total{'5.2'}" calcext:value-type="float"/>
- <table:table-cell table:style-name="ce3" table:formula="of:=[.B2]+[.D2]+[.F2]+[.H2]+[.J2]+[.L2]+[.N2]+[.P2]+[.R2]" office:value-type="float"/>
- <table:table-cell table:style-name="ce3" table:formula="of:=SUM([.T2:.Z2])-[.AC2]" office:value-type="float"/>
- </table:table-row>
- <table:table-row/>
- <table:table-row>
- <table:table-cell table:style-name="boldheader" office:value-type="string" calcext:value-type="string">
- <text:p>Date</text:p>
- </table:table-cell>
- <table:table-cell table:style-name="boldheader" office:value-type="string" calcext:value-type="string">
- <text:p>Open</text:p>
- </table:table-cell>
- <table:table-cell table:style-name="boldheader" office:value-type="string" calcext:value-type="string">
- <text:p>Closed</text:p>
- </table:table-cell>
- <table:table-cell table:style-name="boldheader" office:value-type="string" calcext:value-type="string">
- <text:p>Total</text:p>
- </table:table-cell>
- <table:table-cell table:style-name="boldheader" office:value-type="string" calcext:value-type="string">
- <text:p>Date</text:p>
- </table:table-cell>
-EOF
-;
-
-my @output_order = ( 'Calc', 'Impress', 'Base', 'Draw',
- 'LibreOffice', 'Borders', 'Crashes', 'BASIC', 'Writer/RTF',
- 'Writer', 'Migration',
- 'Chart', 'Extensions', 'Formula Editor', 'Impress Remote',
- 'Installation', 'Linguistic', 'Printing and PDF export', 'UI',
- 'filters and storage', 'framework', 'graphics stack', 'sdk' );
-
-for my $foo (@output_order) {
- print << "EOF"
- <table:table-cell table:style-name="boldheader" office:value-type="string" calcext:value-type="string">
- <text:p>$foo</text:p>
- </table:table-cell>
-EOF
-;
-}
-
-print << "EOF"
- </table:table-row>
- <table:table-row>
-EOF
-;
-
-print << "EOF"
- <table:table-cell table:style-name="isodate" office:value-type="date" office:date-value="$date_value" calcext:value-type="date">
- <text:p>$date_value</text:p>
- </table:table-cell>
- <table:table-cell office:value-type="float" office:value="$reg_open" calcext:value-type="float"/>
- <table:table-cell table:formula="of:=[.D5]-[.B5]" office:value-type="float"/>
- <table:table-cell office:value-type="float" office:value="$reg_all" calcext:value-type="float"/>
- <table:table-cell table:style-name="isodate" table:formula="of:=[.A5]" office:value-type="date" />
-EOF
-;
-
-for my $foo (@output_order) {
- if (defined $component_count{$foo}) {
- print << "EOF"
- <table:table-cell office:value-type="float" office:value="$component_count{$foo}" calcext:value-type="float"/>
-EOF
-;
- } else {
- print "<table:table-cell/>\n";
- }
-}
-
-print << "EOF"
- </table:table-row>
- </table:table>
- </office:spreadsheet>
- </office:body>
-</office:document>
-EOF
-;
commit 95f34c04b07a4a099867db650624822cec627708
Author: jan Iversen <jani at libreoffice.org>
Date: Thu Apr 27 14:12:44 2017 +0200
add bug-metrics
diff --git a/esc-reporting/esc-analyze.py b/esc-reporting/esc-analyze.py
index 23d9d1a..da7250d 100755
--- a/esc-reporting/esc-analyze.py
+++ b/esc-reporting/esc-analyze.py
@@ -531,7 +531,9 @@ def analyze_esc():
statList['data']['esc']['regression'] = {}
statList['data']['esc']['regression']['high'] = bugzillaESCData['ESC_REGRESSION_UPDATE']['high']
statList['data']['esc']['regression']['open'] = bugzillaESCData['ESC_REGRESSION_UPDATE']['open']
+ statList['data']['esc']['regression']['open-1'] = weekList['data']['esc']['regression']['open']
statList['data']['esc']['regression']['total'] = bugzillaESCData['ESC_REGRESSION_UPDATE']['total']
+ statList['data']['esc']['regression']['total-1'] = weekList['data']['esc']['regression']['total']
statList['data']['esc']['component'] = {}
statList['data']['esc']['component']['high'] = {}
diff --git a/esc-reporting/esc-report.py b/esc-reporting/esc-report.py
index 9f0fe7b..a1462fc 100755
--- a/esc-reporting/esc-report.py
+++ b/esc-reporting/esc-report.py
@@ -455,14 +455,14 @@ def report_esc_prototype():
-
-
-def gen_rowHighPriority(row):
+def gen_rowHighPriority():
global statList
- text1 = ''
- text2 = ''
- for i in ['old', '4.0', '4.1', '4.2', '4.3', '4.4', '5.0', '5.1' '5.2' '5.3' '5.4' '5.5']:
+ txt1 = ''
+ txt2 = ''
+ vSumOpen = 0
+ vSumTotal = 0
+ for i in ['old', '4.0', '4.1', '4.2', '4.3', '4.4', '5.0', '5.1', '5.2', '5.3', '5.4', '5.5']:
if i in statList['data']['esc']['MAB']:
vOpen = statList['data']['esc']['MAB'][i]['open']
vTotal = statList['data']['esc']['MAB'][i]['total']
@@ -470,22 +470,83 @@ def gen_rowHighPriority(row):
vOpen = 0
vTotal = 0
vClosed = vTotal - vOpen
+ vSumOpen += vOpen
+ vSumTotal += vTotal
- text1 += '<table:table-cell office:value-type="float" office:value="{vOpen}" calcext:value-type="float">' \
- '<text:p>{vOpen}</text:p></table:table-cell>' \
- '<table:table-cell office:value-type="float" office:value="{vClosed}" calcext:value-type="float">' \
- '<text:p>{vClosed}</text:p></table:table-cell>'
+ txt1 += '<table:table-cell office:value-type="float" office:value="{xOpen}" calcext:value-type="float">' \
+ '<text:p>{xOpen}</text:p></table:table-cell>' \
+ '<table:table-cell office:value-type="float" office:value="{xClosed}" calcext:value-type="float">' \
+ '<text:p>{xClosed}</text:p></table:table-cell>\n'.format(xOpen=vOpen, xClosed=vClosed)
+ txt2 += '<table:table-cell office:value-type="float" office:value="{xTotal}" calcext:value-type="float">' \
+ '<text:p>{xTotal}</text:p></table:table-cell>\n'.format(xTotal=vTotal)
+ vSumTotal -= vSumOpen
text = '<table:table-row table:style-name="ro2">' \
'<table:table-cell table:style-name="isodate" office:value-type="date" ' \
- 'office:date-value="{vDate}" calcext:value-type="date">' \
- '<text:p>{vDate}</text:p></table:table-cell>\n'.format(
- vDate = statList['addDate'])
-
+ 'office:date-value="{xDate}" calcext:value-type="date">' \
+ '<text:p>{xDate}</text:p></table:table-cell>\n'.format(xDate=statList['addDate']) + txt1 + txt2
+ text += '<table:table-cell office:value-type="float" office:value="{xSumOpen}" calcext:value-type="float">' \
+ '<text:p>{xSumOpen}</text:p></table:table-cell>\n' \
+ '<table:table-cell office:value-type="float" office:value="{xSumClosed}" calcext:value-type="float">' \
+ '<text:p>{xSumClosed}</text:p></table:table-cell>\n' \
+ '</table:table-row>\n'.format(xSumOpen=vSumOpen, xSumClosed=vSumTotal)
return text
+def gen_rowRegression(useHigh=False):
+ global statList
+
+ textDate = '<table:table-cell office:value-type="date" office:date-value="{xD}" calcext:value-type="date">\n' \
+ '<text:p>{xD}</text:p></table:table-cell>\n'.format(xD=statList['addDate'])
+
+ text = '<table:table-row table:style-name="ro2">\n' + textDate
+
+ if not useHigh:
+ vType = 'all'
+ vOpen = statList['data']['esc']['regression']['open']
+ vTotal = statList['data']['esc']['regression']['total']
+ vClosed = vTotal - vOpen
+ vDiffO = vOpen - statList['data']['esc']['regression']['open-1']
+ vDiffT = vTotal - statList['data']['esc']['regression']['total-1']
+ vDelta = vDiffT - vDiffO
+ text += '<table:table-cell office:value-type="float" office:value="{xO}" calcext:value-type="float">\n' \
+ '<text:p>{xO}</text:p></table:table-cell>\n' \
+ '<table:table-cell office:value-type="float" office:value="{xC}" calcext:value-type="float">\n' \
+ '<text:p>{xC}</text:p></table:table-cell>\n' \
+ '<table:table-cell office:value-type="float" office:value="{xT}" calcext:value-type="float">\n' \
+ '<text:p>{xT}</text:p></table:table-cell>\n'.format(xO=vOpen,xC=vClosed,xT=vTotal) + textDate
+ endText = textDate + \
+ '<table:table-cell office:value-type="float" office:value="{xDO}" calcext:value-type="float">\n' \
+ '<text:p>{xDO}</text:p></table:table-cell>\n' \
+ '<table:table-cell office:value-type="float" office:value="{xDT}" calcext:value-type="float">\n' \
+ '<text:p>{xDT}</text:p></table:table-cell>\n' \
+ '<table:table-cell office:value-type="float" office:value="{xDD}" calcext:value-type="float">\n' \
+ '<text:p>{xDD}</text:p></table:table-cell>\n' \
+ '<table:table-cell table:number-columns-repeated="24"/>\n'.format(xDO=vDiffO, xDT=vDiffT, xDD=vDelta)
+ else:
+ vType = 'high'
+ endText = ''
+
+ buildText = ''
+ for id in ['Calc', 'Impress', 'Base', 'Draw', 'LibreOffice', 'Borders', 'Crashes',
+ 'BASIC', 'Writer/RTF', 'Writer', '', 'Chart', 'Extensions', 'Formula Editor',
+ 'Impress Remote', 'Installation', 'Linguistic', 'Printing and PDF export',
+ 'UI', 'filters and storage', 'framework', 'graphics stack', 'sdk']:
+ if id is '' or id not in statList['data']['esc']['component'][vType]:
+ vOpen = 0
+ else:
+ vOpen = statList['data']['esc']['component'][vType][id]
+
+ if vOpen == 0 and useHigh:
+ buildText += '<table:table-cell/>\n'
+ else:
+ buildText += '<table:table-cell office:value-type="float" office:value="{xO}" calcext:value-type="float">\n' \
+ '<text:p>{xO}</text:p></table:table-cell>\n'.format(xO=vOpen)
+
+ return text + buildText + endText + '</table:table-row>\n'
+
+
def report_flatODF():
global statList, cfg
@@ -494,242 +555,6 @@ def report_flatODF():
text = fp.read()
fp.close()
- rowHighPriority = gen_rowHighPriority('75')
- rowHighPriority += \
- '<table:table-cell office:value-type="float" office:value="{vO_old}" calcext:value-type="float">\n' \
- '<text:p>{vO_old}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.Z74]-[.B74]" office:value-type="float" office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vO_40}" calcext:value-type="float">\n' \
- '<text:p>{vO_40}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.AA74]-[.D74]" office:value-type="float" office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vO_41}" calcext:value-type="float">\n' \
- '<text:p>{vO_41}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.AB74]-[.F74]" office:value-type="float" office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vO_42}" calcext:value-type="float">\n' \
- '<text:p>{vO_42}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.AC74]-[.H74]" office:value-type="float" office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vO_43}" calcext:value-type="float">\n' \
- '<text:p>{vO_43}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.AD74]-[.J74]" office:value-type="float" office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vO_44}" calcext:value-type="float">\n' \
- '<text:p>{vO_44}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.AE74]-[.L74]" office:value-type="float" office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vO_50}" calcext:value-type="float">\n' \
- '<text:p>{vO_50}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.AF74]-[.N74]" office:value-type="float" office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vO_51}" calcext:value-type="float">\n' \
- '<text:p>{vO_51}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.AG74]-[.P74]" office:value-type="float" office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vO_52}" calcext:value-type="float">\n' \
- '<text:p>{vO_52}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.AH74]-[.R74]" office:value-type="float" office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vO_53}" calcext:value-type="float">\n' \
- '<text:p>{vO_53}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.AI74]-[.T74]" office:value-type="float" office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vO_54}" calcext:value-type="float">\n' \
- '<text:p>{vO_54}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.AJ74]-[.V74]" office:value-type="float" office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vO_55}" calcext:value-type="float">\n' \
- '<text:p>{vO_55}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.AK74]-[.X74]" office:value-type="float" office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vT_old}" calcext:value-type="float">\n' \
- '<text:p>{vT_old}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vT_40}" calcext:value-type="float">\n' \
- '<text:p>{vT_40}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vT_41}" calcext:value-type="float">\n' \
- '<text:p>{vT_41}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vT_42}" calcext:value-type="float">\n' \
- '<text:p>{vT_42}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vT_43}" calcext:value-type="float">\n' \
- '<text:p>{vT_43}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vT_44}" calcext:value-type="float">\n' \
- '<text:p>{vT_44}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vT_50}" calcext:value-type="float">\n' \
- '<text:p>{vT_50}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vT_51}" calcext:value-type="float">\n' \
- '<text:p>{vT_51}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vT_52}" calcext:value-type="float">\n' \
- '<text:p>{vT_52}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vT_53}" calcext:value-type="float">\n' \
- '<text:p>{vT_53}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vT_54}" calcext:value-type="float">\n' \
- '<text:p>{vT_54}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vT_55}" calcext:value-type="float">\n' \
- '<text:p>{vT_55}</text:p></table:table-cell>\n' \
- '<table:table-cell table:formula="of:=[.B74]+[.D74]+[.F74]+[.H74]+[.J74]+[.L74]+[.N74]+[.P74]+[.R74]+[.T74]+[.V74]+[.X74]" ' \
- 'office:value-type="float" office:value="-1" calcext:value-type="float">' \
- '<text:p>-1</text:p></table:table-cell>' \
- '<table:table-cell table:style-name="ce24" table:formula="of:=SUM([.Z74:.AK74])-[.AL74]" ' \
- 'office:value-type="float" office:value="-1" calcext:value-type="float">' \
- '<text:p>-1</text:p></table:table-cell>' \
- '</table:table-row>\n'.format(
- vO_old = statList['data']['esc']['MAB']['old']['open'],
- vT_old = statList['data']['esc']['MAB']['old']['total'],
- vO_40 = statList['data']['esc']['MAB']['4.0']['open'],
- vT_40 = statList['data']['esc']['MAB']['4.0']['total'],
- vO_41 = statList['data']['esc']['MAB']['4.1']['open'],
- vT_41 = statList['data']['esc']['MAB']['4.1']['total'],
- vO_42 = statList['data']['esc']['MAB']['4.2']['open'],
- vT_42 = statList['data']['esc']['MAB']['4.2']['total'],
- vO_43 = statList['data']['esc']['MAB']['4.3']['open'],
- vT_43 = statList['data']['esc']['MAB']['4.3']['total'],
- vO_44 = statList['data']['esc']['MAB']['4.4']['open'],
- vT_44 = statList['data']['esc']['MAB']['4.4']['total'],
- vO_50 = statList['data']['esc']['MAB']['5.0']['open'],
- vT_50 = statList['data']['esc']['MAB']['5.0']['total'],
- vO_51 = statList['data']['esc']['MAB']['5.1']['open'],
- vT_51 = statList['data']['esc']['MAB']['5.1']['total'],
- vO_52 = statList['data']['esc']['MAB']['5.2']['open'],
- vT_52 = statList['data']['esc']['MAB']['5.2']['total'],
- vO_53 = statList['data']['esc']['MAB']['5.3']['open'],
- vT_53 = statList['data']['esc']['MAB']['5.3']['total'],
- vO_54 = 0,
- vT_54 = 0,
- vO_55 = 0,
- vT_55 = 0)
-
- rowRegressions = \
- '<table:table-row table:style-name="ro2">\n' \
- '<table:table-cell office:value-type="date" office:date-value="{vDate}" calcext:value-type="date">\n' \
- '<text:p>{vDate}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vOpen}" calcext:value-type="float">\n' \
- '<text:p>{vOpen}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="Default" table:formula="of:=[.D258]-[.B258]" office:value-type="float" ' \
- 'office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vTotal}" calcext:value-type="float">\n' \
- '<text:p>{vTotal}</text:p></table:table-cell>\n' \
- '<table:table-cell table:style-name="isodate" table:formula="of:=[.A258]" office:value-type="date" ' \
- 'office:date-value="2001-01-01" calcext:value-type="date">\n' \
- '<text:p>2001-01-01</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vSpreadsheet}" calcext:value-type="float">\n' \
- '<text:p>{vSpreadsheet}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vPresentation}" calcext:value-type="float">\n' \
- '<text:p>{vPresentation}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vDatabase}" calcext:value-type="float">\n' \
- '<text:p>{vDatabase}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vDrawing}" calcext:value-type="float">\n' \
- '<text:p>{vDrawing}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vLibreOffice}" calcext:value-type="float">\n' \
- '<text:p>{vLibreOffice}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vBorders}" calcext:value-type="float">\n' \
- '<text:p>{vBorders}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vCrashes}" calcext:value-type="float">\n' \
- '<text:p>{vCrashes}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vBasic}" calcext:value-type="float">\n' \
- '<text:p>{vBasic}</text:p></table:table-cell>\n' \
- '<table:table-cell/>\n' \
- '<table:table-cell office:value-type="float" office:value="{vWriter}" calcext:value-type="float">\n' \
- '<text:p>{vWriter}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vMigration}" calcext:value-type="float">\n' \
- '<text:p>{vMigration}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vChart}" calcext:value-type="float">\n' \
- '<text:p>{vChart}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vExtensions}" calcext:value-type="float">\n' \
- '<text:p>{vExtensions}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vFormula}" calcext:value-type="float">\n' \
- '<text:p>{vFormula}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vImpressRemote}" calcext:value-type="float">\n' \
- '<text:p>{vImpressRemote}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vInstallation}" calcext:value-type="float">\n' \
- '<text:p>"{vInstallation}"</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vLinguistic}" calcext:value-type="float">\n' \
- '<text:p>{vLinguistic}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vPrinting}" calcext:value-type="float">\n' \
- '<text:p>{vPrinting}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vUI}" calcext:value-type="float">\n' \
- '<text:p>{vUI}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vFilters}" calcext:value-type="float">\n' \
- '<text:p>{vFilters}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vFramework}" calcext:value-type="float">\n' \
- '<text:p>{vFramework}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vGraphics}" calcext:value-type="float">\n' \
- '<text:p>{vGraphics}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vSdk}" calcext:value-type="float">\n' \
- '<text:p>{vSdk}</text:p></table:table-cell>\n' \
- '<table:table-cell table:formula="of:=[.A258]" office:value-type="date" ' \
- 'office:date-value="2001-01-01" calcext:value-type="date">\n' \
- '<text:p>2001-01-01</text:p></table:table-cell>\n' \
- '<table:table-cell table:formula="of:=[.B258]-[.B257]" office:value-type="float" ' \
- 'office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell table:formula="of:=[.D258]-[.D257]" office:value-type="float" ' \
- 'office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell table:formula="of:=[.AE258]-[.AD258]" office:value-type="float" ' \
- 'office:value="-1" calcext:value-type="float">\n' \
- '<text:p>-1</text:p></table:table-cell>\n' \
- '<table:table-cell table:number-columns-repeated="24"/>\n' \
- '</table:table-row>\n'.format(
- vDate = statList['addDate'],
- vOpen = statList['data']['esc']['regression']['open'],
- vTotal = statList['data']['esc']['regression']['total'],
- vSpreadsheet = statList['data']['esc']['component']['all']['Calc'],
- vPresentation = statList['data']['esc']['component']['all']['Impress'],
- vDatabase = statList['data']['esc']['component']['all']['Base'],
- vDrawing = statList['data']['esc']['component']['all']['Draw'],
- vLibreOffice = statList['data']['esc']['component']['all']['LibreOffice'],
- vBorders = statList['data']['esc']['component']['all']['Borders'],
- vCrashes = statList['data']['esc']['component']['all']['Crashes'],
- vBasic = statList['data']['esc']['component']['all']['BASIC'],
- vWriter = statList['data']['esc']['component']['all']['Writer'],
- vMigration = 0,
- vChart = statList['data']['esc']['component']['all']['Chart'],
- vExtensions = statList['data']['esc']['component']['all']['Extensions'],
- vFormula = statList['data']['esc']['component']['all']['Formula Editor'],
- vImpressRemote = statList['data']['esc']['component']['all']['Impress Remote'],
- vInstallation = statList['data']['esc']['component']['all']['Installation'],
- vLinguistic = statList['data']['esc']['component']['all']['Linguistic'],
- vPrinting = statList['data']['esc']['component']['all']['Printing and PDF export'],
- vUI = statList['data']['esc']['component']['all']['UI'],
- vFilters = statList['data']['esc']['component']['all']['filters and storage'],
- vFramework = statList['data']['esc']['component']['all']['framework'],
- vGraphics = statList['data']['esc']['component']['all']['graphics stack'],
- vSdk = statList['data']['esc']['component']['all']['sdk']
- )
-
-
- rowHighPrioRegressions = \
- '<table:table-row table:style-name="ro2">\n' \
- '<table:table-cell office:value-type="date" office:date-value="{vDate}" calcext:value-type="date">\n' \
- '<text:p>{vDate}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vSpreadsheet}" calcext:value-type="float">\n' \
- '<text:p>{vSpreadsheet}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vPresentation}" calcext:value-type="float">\n' \
- '<text:p>{vPresentation}</text:p></table:table-cell>\n' \
- '<table:table-cell office:value-type="float" office:value="{vDatabase}" calcext:value-type="float">\n' \
- '<text:p>{vDatabase}</text:p></table:table-cell>\n' \
- '<table:table-cell/>\n' \
- '<table:table-cell office:value-type="float" office:value="{vLibreOffice}" calcext:value-type="float">\n' \
- '<text:p>{vLibreOffice}</text:p></table:table-cell>\n' \
- '<table:table-cell table:number-columns-repeated="4"/>\n' \
- '<table:table-cell office:value-type="float" office:value="{vWriter}" calcext:value-type="float">\n' \
- '<text:p>{vWriter}</text:p></table:table-cell>\n' \
- '<table:table-cell table:number-columns-repeated="2"/>\n' \
- '<table:table-cell office:value-type="float" office:value="{vExtensions}" calcext:value-type="float">\n' \
- '<text:p>{vExtensions}</text:p></table:table-cell>\n' \
- '<table:table-cell table:number-columns-repeated="10"/>\n' \
- '</table:table-row>\n'.format(
- vDate=statList['addDate'],
- vSpreadsheet=statList['data']['esc']['component']['high']['Calc'],
- vPresentation=statList['data']['esc']['component']['high']['Impress'],
- vDatabase=statList['data']['esc']['component']['high']['Base'],
- vLibreOffice=statList['data']['esc']['component']['high']['LibreOffice'],
- vWriter=statList['data']['esc']['component']['high']['Writer'],
- vExtensions=statList['data']['esc']['component']['high']['Extensions'])
-
endIndex = 0
searchStartSheet = '<table:table table:name='
lenStartSheet = len(searchStartSheet)
@@ -750,11 +575,11 @@ def report_flatODF():
continue
elif text[startIndex:].startswith('"HighPriority"'):
inx = text.rfind('<table:table-row table:style-name="ro2" table:number-rows-repeated="39">', startIndex, endIndex)
- text = text[:inx] + '\n\n' + rowHighPriority + '\n\n' + text[inx:]
+ text = text[:inx] + gen_rowHighPriority() + text[inx:]
elif text[startIndex:].startswith('"Regressions"'):
- text = text[:endIndex] + '\n\n' + rowRegressions + '\n\n' + text[endIndex:]
+ text = text[:endIndex] + gen_rowRegression() + text[endIndex:]
elif text[startIndex:].startswith('"HighPrioRegressions"'):
- text = text[:endIndex] + '\n\n' + rowHighPrioRegressions + '\n\n' + text[endIndex:]
+ text = text[:endIndex] + gen_rowRegression(useHigh=True) + text[endIndex:]
else:
raise Exception("unknown sheet in bug-metrics: " + text[startIndex:startIndex+20])
More information about the Libreoffice-commits
mailing list