esc-reporting/esc-report.py | 513 +++++++++++++++++++++++--------------------- 1 file changed, 273 insertions(+), 240 deletions(-)
New commits: commit c045f10420b9a92ed464bc368490fa7c65e86b26 Author: jan Iversen <j...@libreoffice.org> Date: Wed Apr 26 15:55:23 2017 +0200 freeze flatODF before making Xisco report changes diff --git a/esc-reporting/esc-report.py b/esc-reporting/esc-report.py index 9b61b04..be9127a 100755 --- a/esc-reporting/esc-report.py +++ b/esc-reporting/esc-report.py @@ -455,248 +455,281 @@ def report_esc_prototype(): def report_flatODF(): global statList, cfg - fp = open('/tmp/esc_flatODF.fods', 'w', encoding='utf-8') - print('<?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">' + - '\n', file=fp) - - print('<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>' + - '\n', file=fp) - - print('<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>' + - '\n', file=fp) - - print('<table:table-row table:style-name="ro1">' + - '<table:table-cell table:style-name="isodate" office:value-type="date" office:date-value="' + - statList['addDate'] + '" calcext:value-type="date"><text:p>' + - statList['addDate'] + '</text:p></table:table-cell>' + - '\n', file=fp) - - print('<table:table-cell office:value-type="float" office:value="' + - str(statList['data']['esc']['MAB']['old']['open']) + '" 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="' + - str(statList['data']['esc']['MAB']['4.0']['open']) + '" 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="' + - str(statList['data']['esc']['MAB']['4.1']['open']) + '" 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="' + - str(statList['data']['esc']['MAB']['4.2']['open']) + '" 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="' + - str(statList['data']['esc']['MAB']['4.3']['open']) + '" 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="' + - str(statList['data']['esc']['MAB']['4.4']['open']) + '" 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="' + - str(statList['data']['esc']['MAB']['5.0']['open']) + '" 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="' + - str(statList['data']['esc']['MAB']['5.1']['open']) + '" 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="' + - str(statList['data']['esc']['MAB']['5.2']['open']) + '" 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="' + - str(statList['data']['esc']['MAB']['old']['total']) + '" calcext:value-type="float"/>' + - '<table:table-cell office:value-type="float" office:value="' + - str(statList['data']['esc']['MAB']['4.0']['total']) + '" calcext:value-type="float"/>' + - '<table:table-cell office:value-type="float" office:value="' + - str(statList['data']['esc']['MAB']['4.1']['total']) + '" calcext:value-type="float"/>' + - '<table:table-cell office:value-type="float" office:value="' + - str(statList['data']['esc']['MAB']['4.2']['total']) + '" calcext:value-type="float"/>' + - '<table:table-cell office:value-type="float" office:value="' + - str(statList['data']['esc']['MAB']['4.3']['total']) + '" calcext:value-type="float"/>' + - '<table:table-cell office:value-type="float" office:value="' + - str(statList['data']['esc']['MAB']['4.4']['total']) + '" calcext:value-type="float"/>' + - '<table:table-cell office:value-type="float" office:value="' + - str(statList['data']['esc']['MAB']['5.0']['total']) + '" calcext:value-type="float"/>' + - '<table:table-cell office:value-type="float" office:value="' + - str(statList['data']['esc']['MAB']['5.1']['total']) + '" calcext:value-type="float"/>' + - '<table:table-cell office:value-type="float" office:value="' + - str(statList['data']['esc']['MAB']['5.2']['total']) + '" 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>' + - '\n', file=fp) - - print('<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>' + - '\n', file=fp) - - - myOrder = ['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 i in myOrder: - print('<table:table-cell table:style-name="boldheader" office:value-type="string" calcext:value-type="string"><text:p>' + - i + '</text:p></table:table-cell>' + - '\n', file=fp) - print('</table:table-row>' + - '<table:table-row>' + - '<table:table-cell table:style-name="isodate" office:value-type="date" office:date-value="' + - statList['addDate'] + - '" calcext:value-type="date"><text:p>' + - statList['addDate'] + - '</text:p>' + - '</table:table-cell>' + - '<table:table-cell office:value-type="float" office:value="' + - str(statList['data']['esc']['regression']['total']) + '" 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="' + - str(statList['data']['esc']['regression']['total']) + '" calcext:value-type="float"/>' + - '<table:table-cell table:style-name="isodate" table:formula="of:=[.A5]" office:value-type="date" />' + - '\n', file=fp) - for i in myOrder: - if i in statList['data']['esc']['component']['all']: - print('<table:table-cell office:value-type="float" office:value="' + - str(statList['data']['esc']['component']['all'][i]) + '" calcext:value-type="float"/>' + - '\n', file = fp) - else: - print('<table:table-cell/>', - '\n', file = fp) - print('</table:table-row>' + - '</table:table>' + - '</office:spreadsheet>' + - '</office:body>' + - '</office:document>' + - '\n', file=fp) + filename = cfg['homedir'] + 'bug-metrics.fods' + fp = open(filename, encoding='utf-8') + text = fp.read() fp.close() - fp = open('/tmp/esc_flatODF_body', 'w', encoding='utf-8') - print('File to add to series', file=fp) - fp.close - data = 'ESC flatODF, based on stats.json from '+statList['addDate'] + + rowHighPriority = \ + '<table:table-row table:style-name="ro2">\n' \ + '<table:table-cell table:style-name="isodate" 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="{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:=[.T74]-[.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:=[.U74]-[.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:=[.V74]-[.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:=[.W74]-[.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:=[.X74]-[.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:=[.Y74]-[.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:=[.Z74]-[.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:=[.AA74]-[.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:=[.AB74]-[.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( + vDate = statList['addDate'], + 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['date']['esc']['QAstat'][''], + vTotal = 0, + vSpreadsheet = 0, + vPresentation = 0, + vDatabase = 0, + vDrawing = 0, + vLibreOffice = 0, + vBorders = 0, + vCrashes = 0, + vBasic = 0, + vWriter = 0, + vMigration = 0, + vChart = 0, + vExtensions = 0, + vFormula = 0, + vImpressRemote = 0, + vInstallation = 0, + vLinguistic = 0, + vPrinting = 0, + vUI = 0, + vFilters = 0, + vFramework = 0, + vGraphics = 0, + vSdk = 0 + ) + + + rowHighPrioRegressions = '' +# <table:table-row table:style-name="ro2"> +# <table:table-cell table:style-name="ce14" office:value-type="date" office:date-value="2017-04-18" calcext:value-type="date"> +# <text:p>2017-04-18</text:p> +# </table:table-cell> +# <table:table-cell office:value-type="float" office:value="1" calcext:value-type="float"> +# <text:p>1</text:p> +# </table:table-cell> +# <table:table-cell table:number-columns-repeated="2" office:value-type="float" office:value="2" calcext:value-type="float"> +# <text:p>2</text:p> +# </table:table-cell> +# <table:table-cell/> +# <table:table-cell office:value-type="float" office:value="4" calcext:value-type="float"> +# <text:p>4</text:p> +# </table:table-cell> +# <table:table-cell table:number-columns-repeated="4"/> +# <table:table-cell office:value-type="float" office:value="1" calcext:value-type="float"> +# <text:p>1</text:p> +# </table:table-cell> +# <table:table-cell table:number-columns-repeated="2"/> +# <table:table-cell office:value-type="float" office:value="1" calcext:value-type="float"> +# <text:p>1</text:p> +# </table:table-cell> +# <table:table-cell table:number-columns-repeated="10"/> +# </table:table-row> + + endIndex = 0 + searchStartSheet = '<table:table table:name=' + lenStartSheet = len(searchStartSheet) + while True: + startIndex = text.find(searchStartSheet, endIndex) + lenStartSheet + if startIndex <= lenStartSheet: + break + endIndex = text.find('</table:table>', startIndex) + + if text[startIndex:].startswith('"local-table"'): + # no handling + continue + elif text[startIndex:].startswith('"Charts"'): + # no handling + continue + elif text[startIndex:].startswith('"Legacy"'): + # no handling + 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:] + elif text[startIndex:].startswith('"Regressions"'): + print("handling Regressions") + elif text[startIndex:].startswith('"HighPrioRegressions"'): + print("handling HighPrioRegressions") + else: + raise Exception("unknown sheet in bug-metrics: " + text[startIndex:startIndex+20]) + print('start: {} end {}'.format(startIndex, endIndex)) + + fp = open(cfg['homedir'] + 'bug-test.fods', 'w', encoding='utf-8') + print(text, file=fp) + fp.close() + data = 'ESC bug_metric.fods, based on stats.json from '+statList['addDate'] return {'title': data, 'mail': 'mentor...@documentfoundation.org', 'attach': '/tmp/esc_flatODF.fods', 'file' : '/tmp/esc_flatODF_body'} _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits