svn commit: r1865599 - /comdev/reporter.apache.org/trunk/site/wizard/statistics.html
Author: humbedooh Date: Wed Aug 21 05:23:12 2019 New Revision: 1865599 URL: http://svn.apache.org/viewvc?rev=1865599=rev Log: use local for stats as well Modified: comdev/reporter.apache.org/trunk/site/wizard/statistics.html Modified: comdev/reporter.apache.org/trunk/site/wizard/statistics.html URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/statistics.html?rev=1865599=1865598=1865599=diff == --- comdev/reporter.apache.org/trunk/site/wizard/statistics.html (original) +++ comdev/reporter.apache.org/trunk/site/wizard/statistics.html Wed Aug 21 05:23:12 2019 @@ -12,7 +12,7 @@ ASF Project Statistics -https://fontlibrary.org/face/selawik; type="text/css"/> +
svn commit: r1865388 - /comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css
Author: humbedooh Date: Sun Aug 18 07:36:02 2019 New Revision: 1865388 URL: http://svn.apache.org/viewvc?rev=1865388=rev Log: pad here as well Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css?rev=1865388=1865387=1865388=diff == --- comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css (original) +++ comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css Sun Aug 18 07:36:02 2019 @@ -45,6 +45,7 @@ .hwt-content mark { padding: 0 !important; + padding-right: 4px !important; color: inherit; }
svn commit: r1865387 - /comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js
Author: humbedooh Date: Sun Aug 18 07:34:39 2019 New Revision: 1865387 URL: http://svn.apache.org/viewvc?rev=1865387=rev Log: bit more.. Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js?rev=1865387=1865386=1865387=diff == --- comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js Sun Aug 18 07:34:39 2019 @@ -203,7 +203,7 @@ // FF fix padding['padding-left'] = '0px'; - padding['padding-right'] = (parseInt(padding['padding-right']) + 5) + 'px'; + padding['padding-right'] = (parseInt(padding['padding-right']) + 8) + 'px'; this.$backdrop .css({ // give padding pixels to backdrop div
svn commit: r1865386 - /comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js
Author: humbedooh Date: Sun Aug 18 07:32:57 2019 New Revision: 1865386 URL: http://svn.apache.org/viewvc?rev=1865386=rev Log: pad a bit more on right for FF Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js?rev=1865386=1865385=1865386=diff == --- comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js Sun Aug 18 07:32:57 2019 @@ -203,6 +203,7 @@ // FF fix padding['padding-left'] = '0px'; + padding['padding-right'] = (parseInt(padding['padding-right']) + 5) + 'px'; this.$backdrop .css({ // give padding pixels to backdrop div
svn commit: r1865385 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/stepper.js source/unified.js wizard-beta.js
Author: humbedooh Date: Sun Aug 18 07:31:22 2019 New Revision: 1865385 URL: http://svn.apache.org/viewvc?rev=1865385=rev Log: Couple of fixes for dealing with differently formatted reports like incubator Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/stepper.js comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/stepper.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/stepper.js?rev=1865385=1865384=1865385=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/stepper.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/stepper.js Sun Aug 18 07:31:22 2019 @@ -35,7 +35,7 @@ function ReportStepper(div, editor, layo if (this.changed) this.editor.highlight(); // skip building if nothing changed -if (!this.changed && !start && this.editor.report == this.editor.last_cursor_report) return; +if (!this.changed && !start && this.editor.report == this.editor.last_cursor_report && s != -1) return; this.editor.last_cursor_report = this.editor.report; // build the step div Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js?rev=1865385=1865384=1865385=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js Sun Aug 18 07:31:22 2019 @@ -8,7 +8,7 @@ function UnifiedEditor_highlight_section // Set which sections highlight let hilites = []; // Headers are blue -hilites.push({highlight: /^## [^\r\n]+:/mg, className: 'blue' }); +hilites.push({highlight: /^## [^\r\n]+:?/mg, className: 'blue' }); // Placeholders are grey with red border hilites.push({highlight: PLACEHOLDER, className: 'none' }); // sections @@ -98,7 +98,7 @@ function UnifiedEditor_find_section(e) { } else { for (var i = 0; i < this.layout.length; i++) { let step = this.layout[i]; -let tline = "## %s:".format(step.rawname || step.description); +let tline = "## %s".format(step.rawname || step.description); if (tprec.indexOf(tline) != -1) { at_step = i; } @@ -173,7 +173,7 @@ function UnifiedEditor_mark_section(titl for (var i = 0; i < this.sections.length; i++) { let section = this.sections[i]; if (section.title == title && section.text.indexOf(PLACEHOLDER) == -1 && section.text.length > 4) { -//console.log("Marking entire %s section from %u to %u".format(title, sections[i].start, sections[i].end)) +//console.log("Marking entire %s section from %u to %u".format(title, this.sections[i].start, this.sections[i].end)) this.highlight(section.text); foundit = true; break; Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js?rev=1865385=1865384=1865385=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Sun Aug 18 07:31:22 2019 @@ -3190,7 +3190,7 @@ function ReportStepper(div, editor, layo if (this.changed) this.editor.highlight(); // skip building if nothing changed -if (!this.changed && !start && this.editor.report == this.editor.last_cursor_report) return; +if (!this.changed && !start && this.editor.report == this.editor.last_cursor_report && s != -1) return; this.editor.last_cursor_report = this.editor.report; // build the step div @@ -3298,7 +3298,7 @@ function UnifiedEditor_highlight_section // Set which sections highlight let hilites = []; // Headers are blue -hilites.push({highlight: /^## [^\r\n]+:/mg, className: 'blue' }); +hilites.push({highlight: /^## [^\r\n]+:?/mg, className: 'blue' }); // Placeholders are grey with red border hilites.push({highlight: PLACEHOLDER, className: 'none' }); // sections @@ -3388,7 +3388,7 @@ function UnifiedEditor_find_section(e) { } else { for (var i = 0; i < this.layout.length; i++) { let step = this.layout[i];
svn commit: r1865384 - /comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js
Author: humbedooh Date: Sun Aug 18 07:11:52 2019 New Revision: 1865384 URL: http://svn.apache.org/viewvc?rev=1865384=rev Log: fix padding issue with FF Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js?rev=1865384=1865383=1865384=diff == --- comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.js Sun Aug 18 07:11:52 2019 @@ -201,6 +201,8 @@ 'border-width': '0' }); + // FF fix + padding['padding-left'] = '0px'; this.$backdrop .css({ // give padding pixels to backdrop div
svn commit: r1865339 - /comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css
Author: humbedooh Date: Sat Aug 17 08:19:59 2019 New Revision: 1865339 URL: http://svn.apache.org/viewvc?rev=1865339=rev Log: fix margin Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css?rev=1865339=1865338=1865339=diff == --- comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css (original) +++ comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css Sat Aug 17 08:19:59 2019 @@ -71,7 +71,8 @@ .hwt-content mark.classified { background-color: #3335 !important; width: 100%; - font-weight: bold; + margin-left: -2px; + margin-right: -2px; display: inline-block; visibility: visible; }
svn commit: r1865338 - in /comdev/reporter.apache.org/trunk/site/wizard: highlighter/highlighter.css index.html js/source/unified.js js/wizard-beta.js
Author: humbedooh Date: Sat Aug 17 08:17:48 2019 New Revision: 1865338 URL: http://svn.apache.org/viewvc?rev=1865338=rev Log: fix highlighting for tags Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css comdev/reporter.apache.org/trunk/site/wizard/index.html comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css?rev=1865338=1865337=1865338=diff == --- comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css (original) +++ comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css Sat Aug 17 08:17:48 2019 @@ -61,16 +61,22 @@ background-color: #ffec99; } -.hwt-content mark.orange { -background-color: #ffac99; +.hwt-content div.green { +background-color: #afa3; + width: 100%; + display: inline-block; } -.hwt-content div.green { -background-color: #efe; + +.hwt-content mark.classified { +background-color: #3335 !important; width: 100%; + font-weight: bold; display: inline-block; + visibility: visible; } + mark.green { visibility: hidden; } Modified: comdev/reporter.apache.org/trunk/site/wizard/index.html URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/index.html?rev=1865338=1865337=1865338=diff == --- comdev/reporter.apache.org/trunk/site/wizard/index.html (original) +++ comdev/reporter.apache.org/trunk/site/wizard/index.html Sat Aug 17 08:17:48 2019 @@ -13,8 +13,8 @@ ASF Board Report Wizard https://fontlibrary.org/face/selawik; type="text/css"/> - - + + https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css; integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> @@ -62,7 +62,7 @@ https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"</a>; integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"> https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"</a>;> - + Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js?rev=1865338=1865337=1865338=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js Sat Aug 17 08:17:48 2019 @@ -9,10 +9,11 @@ function UnifiedEditor_highlight_section let hilites = []; // Headers are blue hilites.push({highlight: /^## [^\r\n]+:/mg, className: 'blue' }); -hilites.push({highlight: /^.+?<\/private>/g, className: 'orange' }); // Placeholders are grey with red border hilites.push({highlight: PLACEHOLDER, className: 'none' }); - + // sections + hilites.push({highlight: /[\s\S]+?<\/private>/i, className: 'classified' }); + // Capture text cursor position(s) before we continue. let x = $('#unified-report').prop('selectionStart'); let y = $('#unified-report').prop('selectionEnd'); Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js?rev=1865338=1865337=1865338=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Sat Aug 17 08:17:48 2019 @@ -3299,10 +3299,11 @@ function UnifiedEditor_highlight_section let hilites = []; // Headers are blue hilites.push({highlight: /^## [^\r\n]+:/mg, className: 'blue' }); -hilites.push({highlight: /^.+?<\/private>/g, className: 'orange' }); // Placeholders are grey with red border hilites.push({highlight: PLACEHOLDER, className: 'none' }); - + // sections + hilites.push({highlight: /[\s\S]+?<\/private>/i, className: 'classified' }); + // Capture text cursor position(s) before we continue. let x = $('#unified-report').prop('selectionStart'); let y = $('#unified-report').prop('selectionEnd');
svn commit: r1865337 - in /comdev/reporter.apache.org/trunk/site/wizard: highlighter/highlighter.css js/source/unified.js js/wizard-beta.js
Author: humbedooh Date: Sat Aug 17 07:41:18 2019 New Revision: 1865337 URL: http://svn.apache.org/viewvc?rev=1865337=rev Log: highlight private sections Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Modified: comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css?rev=1865337=1865336=1865337=diff == --- comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css (original) +++ comdev/reporter.apache.org/trunk/site/wizard/highlighter/highlighter.css Sat Aug 17 07:41:18 2019 @@ -61,6 +61,10 @@ background-color: #ffec99; } +.hwt-content mark.orange { +background-color: #ffac99; +} + .hwt-content div.green { background-color: #efe; width: 100%; Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js?rev=1865337=1865336=1865337=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js Sat Aug 17 07:41:18 2019 @@ -9,6 +9,7 @@ function UnifiedEditor_highlight_section let hilites = []; // Headers are blue hilites.push({highlight: /^## [^\r\n]+:/mg, className: 'blue' }); +hilites.push({highlight: /^.+?<\/private>/g, className: 'orange' }); // Placeholders are grey with red border hilites.push({highlight: PLACEHOLDER, className: 'none' }); Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js?rev=1865337=1865336=1865337=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Sat Aug 17 07:41:18 2019 @@ -3299,6 +3299,7 @@ function UnifiedEditor_highlight_section let hilites = []; // Headers are blue hilites.push({highlight: /^## [^\r\n]+:/mg, className: 'blue' }); +hilites.push({highlight: /^.+?<\/private>/g, className: 'orange' }); // Placeholders are grey with red border hilites.push({highlight: PLACEHOLDER, className: 'none' });
svn commit: r1865088 - /comdev/project-logos/originals/airflow.svg
Author: humbedooh Date: Wed Aug 14 05:52:20 2019 New Revision: 1865088 URL: http://svn.apache.org/viewvc?rev=1865088=rev Log: make standard size a bit smaller Modified: comdev/project-logos/originals/airflow.svg Modified: comdev/project-logos/originals/airflow.svg URL: http://svn.apache.org/viewvc/comdev/project-logos/originals/airflow.svg?rev=1865088=1865087=1865088=diff == --- comdev/project-logos/originals/airflow.svg (original) +++ comdev/project-logos/originals/airflow.svg Wed Aug 14 05:52:20 2019 @@ -10,9 +10,9 @@ xmlns:xlink="http://www.w3.org/1999/xlink; xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd; xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape; - width="521.61273mm" - height="192.06209mm" - viewBox="0 0 521.61273 192.06209" + width="299.79919mm" + height="110.38854mm" + viewBox="0 0 299.79919 110.38854" version="1.1" id="svg1171" inkscape:version="0.92.3 (2405546, 2018-03-11)" @@ -110,8 +110,8 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.9899495" - inkscape:cx="855.94697" - inkscape:cy="373.7132" + inkscape:cx="436.77181" + inkscape:cy="219.36946" inkscape:document-units="mm" inkscape:current-layer="text2361" showgrid="false" @@ -140,10 +140,10 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - transform="translate(-12.694288,-28.704808)"> + transform="translate(-123.60105,-69.541579)"> + transform="matrix(0,-0.40382657,0.40382657,0,93.239648,299.89222)"> + transform="matrix(-0.40382657,0,0,-0.40382657,353.95169,209.64072)"> + transform="matrix(0,0.40382657,-0.40382657,0,263.68718,-50.420523)"> + transform="matrix(0.40382657,0,0,0.40382657,2.9205637,39.780366)"> + cx="178.85031" + cy="124.57459" + r="3.8922386" />
svn commit: r1865087 - /comdev/project-logos/originals/airflow.svg
Author: humbedooh Date: Wed Aug 14 05:51:24 2019 New Revision: 1865087 URL: http://svn.apache.org/viewvc?rev=1865087=rev Log: tweak viewscreen size Modified: comdev/project-logos/originals/airflow.svg Modified: comdev/project-logos/originals/airflow.svg URL: http://svn.apache.org/viewvc/comdev/project-logos/originals/airflow.svg?rev=1865087=1865086=1865087=diff == --- comdev/project-logos/originals/airflow.svg (original) +++ comdev/project-logos/originals/airflow.svg Wed Aug 14 05:51:24 2019 @@ -10,9 +10,9 @@ xmlns:xlink="http://www.w3.org/1999/xlink; xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd; xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape; - width="523.67065mm" - height="191.94455mm" - viewBox="0 0 523.67065 191.94455" + width="521.61273mm" + height="192.06209mm" + viewBox="0 0 521.61273 192.06209" version="1.1" id="svg1171" inkscape:version="0.92.3 (2405546, 2018-03-11)" @@ -110,10 +110,10 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.9899495" - inkscape:cx="529.258" - inkscape:cy="373.49106" + inkscape:cx="855.94697" + inkscape:cy="373.7132" inkscape:document-units="mm" - inkscape:current-layer="layer1" + inkscape:current-layer="text2361" showgrid="false" inkscape:window-width="3726" inkscape:window-height="2049" @@ -132,7 +132,7 @@ image/svg+xml http://purl.org/dc/dcmitype/StillImage; /> - + @@ -140,10 +140,10 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - transform="translate(-12.753058,-28.763578)"> + transform="translate(-12.694288,-28.704808)"> + transform="matrix(0,-0.68388672,0.68388672,0,-31.774224,421.36596)"> + transform="matrix(-0.68388672,0,0,-0.68388672,409.74577,268.5236)"> + transform="matrix(0,0.68388672,-0.68388672,0,256.88139,-171.89426)"> + transform="matrix(0.68388672,0,0,0.68388672,-184.73103,-19.137614)"> + cx="113.20882" + cy="124.46275" + r="6.591568" /> + id="path3677" + inkscape:connector-curvature="0" /> + id="path3679" + inkscape:connector-curvature="0" /> + id="path3681" + inkscape:connector-curvature="0" /> + id="path3683" + inkscape:connector-curvature="0" /> + id="path3685" + inkscape:connector-curvature="0" /> + id="path3687" + inkscape:connector-curvature="0" /> - - - - - + d="m 33.716393,-60.5672 -12.523715,33.960292 h 25.093137 z m -5.210597,-9.095691 H 38.972697 L 64.979973,-1.4223575 H 55.381505 L 49.165355,-18.928134 H 18.404552 l -6.21615,17.5057765 H 2.4528134 Z" + style="font-size:96.17030334px;font-family:RechargeRg-Bold;fill:#a8afb8;stroke-width:0.97335571" + id="path3690" + inkscape:connector-curvature="0" /> + + + + +
svn commit: r1865073 - /comdev/project-logos/originals/airflow-pb.svg
Author: humbedooh Date: Tue Aug 13 20:45:27 2019 New Revision: 1865073 URL: http://svn.apache.org/viewvc?rev=1865073=rev Log: no title for PB, apparently Modified: comdev/project-logos/originals/airflow-pb.svg Modified: comdev/project-logos/originals/airflow-pb.svg URL: http://svn.apache.org/viewvc/comdev/project-logos/originals/airflow-pb.svg?rev=1865073=1865072=1865073=diff == --- comdev/project-logos/originals/airflow-pb.svg (original) +++ comdev/project-logos/originals/airflow-pb.svg Tue Aug 13 20:45:27 2019 @@ -10,9 +10,9 @@ xmlns:xlink="http://www.w3.org/1999/xlink; xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd; xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape; - width="190.69467mm" - height="232.61807mm" - viewBox="0 0 190.69468 232.61807" + width="180.65596mm" + height="181.83931mm" + viewBox="0 0 180.65597 181.83931" version="1.1" id="svg1171" inkscape:version="0.92.3 (2405546, 2018-03-11)" @@ -143,8 +143,8 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.98994949" - inkscape:cx="586.24192" - inkscape:cy="583.50931" + inkscape:cx="574.08562" + inkscape:cy="399.71729" inkscape:document-units="mm" inkscape:current-layer="layer1" showgrid="false" @@ -173,89 +173,7 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - transform="translate(-247.41571,34.846572)"> - - - - - - - - - - - - - - - - - - - - + transform="translate(-250.63207,32.696114)">
svn commit: r1865072 [1/2] - in /comdev/project-logos/originals: airflow-pb.svg airflow.svg
Author: humbedooh Date: Tue Aug 13 20:44:53 2019 New Revision: 1865072 URL: http://svn.apache.org/viewvc?rev=1865072=rev Log: touch up airflow, it was a bit washed out... also text to path, add PB version Added: comdev/project-logos/originals/airflow-pb.svg Modified: comdev/project-logos/originals/airflow.svg Added: comdev/project-logos/originals/airflow-pb.svg URL: http://svn.apache.org/viewvc/comdev/project-logos/originals/airflow-pb.svg?rev=1865072=auto == --- comdev/project-logos/originals/airflow-pb.svg (added) +++ comdev/project-logos/originals/airflow-pb.svg Tue Aug 13 20:44:53 2019 @@ -0,0 +1,374 @@ + + + +http://purl.org/dc/elements/1.1/; + xmlns:cc="http://creativecommons.org/ns#; + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#; + xmlns:svg="http://www.w3.org/2000/svg; + xmlns="http://www.w3.org/2000/svg; + xmlns:xlink="http://www.w3.org/1999/xlink; + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd; + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape; + width="190.69467mm" + height="232.61807mm" + viewBox="0 0 190.69468 232.61807" + version="1.1" + id="svg1171" + inkscape:version="0.92.3 (2405546, 2018-03-11)" + sodipodi:docname="airflow-pb.svg"> + + + + + + + + + + + + + + + + + + + + + + + +image/svg+xml +http://purl.org/dc/dcmitype/StillImage; /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
svn commit: r1865072 [2/2] - in /comdev/project-logos/originals: airflow-pb.svg airflow.svg
Modified: comdev/project-logos/originals/airflow.svg URL: http://svn.apache.org/viewvc/comdev/project-logos/originals/airflow.svg?rev=1865072=1865071=1865072=diff == --- comdev/project-logos/originals/airflow.svg (original) +++ comdev/project-logos/originals/airflow.svg Tue Aug 13 20:44:53 2019 @@ -1,156 +1,327 @@ - - -http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd;> -http://www.w3.org/2000/svg; xmlns:xlink="http://www.w3.org/1999/xlink; x="0px" y="0px" -width="960px" height="560px" viewBox="0 0 960 560" enable-background="new 0 0 960 560" xml:space="preserve"> - - - Apache - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Airflow - - - + + + +http://purl.org/dc/elements/1.1/; + xmlns:cc="http://creativecommons.org/ns#; + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#; + xmlns:svg="http://www.w3.org/2000/svg; + xmlns="http://www.w3.org/2000/svg; + xmlns:xlink="http://www.w3.org/1999/xlink; + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd; + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape; + width="523.67065mm" + height="191.94455mm" + viewBox="0 0 523.67065 191.94455" + version="1.1" + id="svg1171" + inkscape:version="0.92.3 (2405546, 2018-03-11)" + sodipodi:docname="airflow.svg"> + + + + + + + + + + + + + + + + + + + + +image/svg+xml +http://purl.org/dc/dcmitype/StillImage; /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
svn commit: r1864960 - /comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py
Author: humbedooh Date: Mon Aug 12 11:38:38 2019 New Revision: 1864960 URL: http://svn.apache.org/viewvc?rev=1864960=rev Log: Updates: - Only list forgotten status user has access to, even for filed - Attempt to post update to whimsy on draft save (failure is an option) Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py?rev=1864960=1864959=1864960=diff == --- comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py (original) +++ comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Mon Aug 12 11:38:38 2019 @@ -6,12 +6,14 @@ import sys import time import json import re +import requests import pdata import committee_info import rapp.whimsy DRAFTS_DIR = '/var/lib/rapp/drafts' EDITOR_TYPE = 'unified' +WHIMSY_NOTIFY = 'https://whimsy.apache.org/board/agenda/json/reporter' if not os.path.isdir(DRAFTS_DIR): os.makedirs(DRAFTS_DIR, exist_ok = True) @@ -94,6 +96,15 @@ def save(environ, user): with open(os.path.join(DRAFTS_DIR, filename), "w") as f: f.write(report) f.close() +# Notify whimsy - this may fail, or not, we don't care :) +try: +forgot = forgotten(environ, user) +requests.post(WHIMSY_NOTIFY, headers = { +'Authorization': environ.get('HTTP_AUTHORIZATION'), +"Content-Type": "application/json" +}, json = forgot, timeout = 2) +except: +pass return { 'okay': True, 'filename': filename, @@ -126,38 +137,38 @@ def forgotten(environ, user): ml = entry.get('mail_list') # mailing list id, usually correct rid = entry.get('roster', '').replace('https://whimsy.apache.org/roster/committee/', '') # ldap id per roster if ml and rid and 'report' in entry and entry.get('attach') >= 'A': # If standard TLP report entry... - -if entry.get('report'): -lost[rid] = { -'filed': True, -'agenda': which_agenda, -'attach': entry['attach'] -} -else: -applicables = [] -last_report = "" -last_author = None -has_draft = False -ts = 0 -for filename in drafts: -e, p, t, u = filename.split('-', 3) -t = int(t) -if p == rid and t > (time.time() - 45*86400): -applicables.append(filename) -if has_access(user, rid) and applicables: -has_draft = True -last_report = open(os.path.join(DRAFTS_DIR, applicables[-1]), "r").read() -e, p, t, u = applicables[-1].split('-', 3) -ts = int(t) -last_author = u.replace('.draft', '') -lost[rid] = { -'filed': False, -'agenda': which_agenda, -'has_draft': has_draft, -'last_draft': last_report, -'last_author': last_author, -'draft_timestamp': ts, -'attach': entry['attach'] -} +if has_access(user, rid): +if entry.get('report'): +lost[rid] = { +'filed': True, +'agenda': which_agenda, +'attach': entry['attach'] +} +else: +applicables = [] +last_report = "" +last_author = None +has_draft = False +ts = 0 +for filename in drafts: +e, p, t, u = filename.split('-', 3) +t = int(t) +if p == rid and t > (time.time() - 45*86400): +applicables.append(filename) +if applicables: +has_draft = True +last_report = open(os.path.join(DRAFTS_DIR, applicables[-1]), "r").read() +e, p, t, u = applicables[-1].split('-', 3) +ts = int(t) +last_author = u.replace('.draft', '') +lost[rid] = { +'filed': False, +'agenda': which_agenda, +'has_draft': has_draft, +
svn commit: r1864915 [2/2] - /comdev/project-logos/originals/doris.svg
Modified: comdev/project-logos/originals/doris.svg URL: http://svn.apache.org/viewvc/comdev/project-logos/originals/doris.svg?rev=1864915=1864914=1864915=diff == --- comdev/project-logos/originals/doris.svg (original) +++ comdev/project-logos/originals/doris.svg Sun Aug 11 06:41:37 2019 @@ -1,1126 +1,65 @@ -http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd;> -http://www.w3.org/2000/svg; xmlns:xlink="http://www.w3.org/1999/xlink; x="0px" y="0px" width="952px" height="341px" viewBox="0 0 952 341" enable-background="new 0 0 952 341" xml:space="preserve"> - +http://purl.org/dc/elements/1.1/; + xmlns:cc="http://creativecommons.org/ns#; + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#; + xmlns:svg="http://www.w3.org/2000/svg; + xmlns="http://www.w3.org/2000/svg; + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd; + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape; + version="1.1" + id="Layer_1" + x="0px" + y="0px" + width="952px" + height="341px" + viewBox="0 0 952 341" + enable-background="new 0 0 952 341" + xml:space="preserve" + sodipodi:docname="doris.svg" + inkscape:version="0.92.3 (2405546, 2018-03-11)">image/svg+xmlhttp://purl.org/dc/dcmitype/StillImage; />
svn commit: r1864914 - /comdev/project-logos/originals/bval.svg
Author: humbedooh Date: Sun Aug 11 06:26:35 2019 New Revision: 1864914 URL: http://svn.apache.org/viewvc?rev=1864914=rev Log: minor tweaks Modified: comdev/project-logos/originals/bval.svg Modified: comdev/project-logos/originals/bval.svg URL: http://svn.apache.org/viewvc/comdev/project-logos/originals/bval.svg?rev=1864914=1864913=1864914=diff == --- comdev/project-logos/originals/bval.svg (original) +++ comdev/project-logos/originals/bval.svg Sun Aug 11 06:26:35 2019 @@ -231,7 +231,8 @@ y1="597.0694" x2="81.963074" y2="541.86725" - gradientUnits="userSpaceOnUse" /> + gradientUnits="userSpaceOnUse" + gradientTransform="scale(0.26458333)" /> + gradientUnits="userSpaceOnUse" + gradientTransform="scale(0.26458333)" /> + style="opacity:0.5089;fill:#36200f;fill-opacity:1;fill-rule:evenodd;stroke:#36200f;stroke-width:1.71449518;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 45.156625,98.632473 c -4.659046,4.376297 -5.553652,9.009017 -5.966045,14.644587 4.198403,0.27403 8.480282,0.6066 12.848828,1.08055 32.460279,3.52163 55.721662,44.08568 55.721662,44.08568 C 113.88936,135.55287 91.070616,121.53133 91.070616,121.53133 73.983425,110.89379 58.67579,103.57607 45.156625,98.632473 Z m -7.51427,29.352207 c -2.960468,11.11779 -19.046246,20.20489 -29.8870657,25.18348 37.0049307,18.33925 70.8228397,21.26782 96.5326107,9.60975 0,0 -28.706232,-30.1174 -66.645545,-34.79323 z" + id="path1061-1" + inkscape:connector-curvature="0" /> + inkscape:connector-curvature="0" + sodipodi:nodetypes="c" /> + sodipodi:nodetypes="cc" /> - + + inkscape:connector-curvature="0" + sodipodi:nodetypes="" />
svn commit: r1864912 [2/2] - /comdev/project-logos/originals/bval.svg
Modified: comdev/project-logos/originals/bval.svg URL: http://svn.apache.org/viewvc/comdev/project-logos/originals/bval.svg?rev=1864912=1864911=1864912=diff == --- comdev/project-logos/originals/bval.svg (original) +++ comdev/project-logos/originals/bval.svg Sun Aug 11 06:16:02 2019 @@ -10,15 +10,337 @@ xmlns:xlink="http://www.w3.org/1999/xlink; xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd; xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape; + width="297.55853mm" + height="126.6288mm" + viewBox="0 0 297.55853 126.6288" version="1.1" - id="svg10560" - width="838.9" - height="360" - viewBox="0 0 838.9 360" - sodipodi:docname="bval.svg" - inkscape:version="0.92.3 (2405546, 2018-03-11)"> + id="svg8" + inkscape:version="0.92.3 (2405546, 2018-03-11)" + sodipodi:docname="bval.svg"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id="metadata5"> @@ -29,1744 +351,153 @@ - - -
svn commit: r1864912 [1/2] - /comdev/project-logos/originals/bval.svg
Author: humbedooh Date: Sun Aug 11 06:16:02 2019 New Revision: 1864912 URL: http://svn.apache.org/viewvc?rev=1864912=rev Log: Replace the png with svg (as well as I could make it...) Modified: comdev/project-logos/originals/bval.svg
svn commit: r1864904 - /comdev/project-logos/originals/jackrabbit-oak.svg
Author: humbedooh Date: Sat Aug 10 19:13:57 2019 New Revision: 1864904 URL: http://svn.apache.org/viewvc?rev=1864904=rev Log: Make it less inkscape-reliant Modified: comdev/project-logos/originals/jackrabbit-oak.svg Modified: comdev/project-logos/originals/jackrabbit-oak.svg URL: http://svn.apache.org/viewvc/comdev/project-logos/originals/jackrabbit-oak.svg?rev=1864904=1864903=1864904=diff == --- comdev/project-logos/originals/jackrabbit-oak.svg (original) +++ comdev/project-logos/originals/jackrabbit-oak.svg Sat Aug 10 19:13:57 2019 @@ -20,80 +20,28 @@ id="defs2"> + id="clipPath1028"> + style="fill:#c5c5c5;fill-opacity:1" + id="g1038" + transform="matrix(2.1711636,0,0,-2.1323231,-60.165413,485.9643)"> + id="g1036"> - - - - - - + style="fill:#00;fill-opacity:1;stroke:none" + id="g1032" + transform="translate(77.234488,-21.868887)" /> - - - - - - + style="fill:#00;fill-opacity:1;stroke:none" + id="g1034" + transform="matrix(-1,0,0,1,229.84539,-21.868887)" /> @@ -105,13 +53,13 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="11.2" - inkscape:cx="293.47121" - inkscape:cy="35.709735" + inkscape:zoom="1.4" + inkscape:cx="330.75192" + inkscape:cy="342.26057" inkscape:document-units="mm" inkscape:current-layer="layer1" showgrid="false" - inkscape:snap-global="true" + inkscape:snap-global="false" inkscape:window-width="3726" inkscape:window-height="2049" inkscape:window-x="114" @@ -129,7 +77,7 @@ image/svg+xml http://purl.org/dc/dcmitype/StillImage; /> - + @@ -969,13 +917,6 @@ d="m 13.216865,133.72196 a 92.802144,92.856762 0 0 0 91.575575,78.09838 92.802144,92.856762 0 0 0 91.51021,-78.09838 z" id="path1294-6" /> - +
svn commit: r1864894 - /comdev/project-logos/originals/atlas.svg
Author: humbedooh Date: Sat Aug 10 17:27:49 2019 New Revision: 1864894 URL: http://svn.apache.org/viewvc?rev=1864894=rev Log: text to path Modified: comdev/project-logos/originals/atlas.svg Modified: comdev/project-logos/originals/atlas.svg URL: http://svn.apache.org/viewvc/comdev/project-logos/originals/atlas.svg?rev=1864894=1864893=1864894=diff == --- comdev/project-logos/originals/atlas.svg (original) +++ comdev/project-logos/originals/atlas.svg Sat Aug 10 17:27:49 2019 @@ -26,10 +26,10 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="3.959798" - inkscape:cx="178.30133" + inkscape:cx="103.17123" inkscape:cy="140.83503" inkscape:document-units="mm" - inkscape:current-layer="layer1" + inkscape:current-layer="text2747" showgrid="false" fit-margin-top="0" fit-margin-left="0" @@ -48,7 +48,7 @@ image/svg+xml http://purl.org/dc/dcmitype/StillImage; /> - + @@ -57,29 +57,59 @@ inkscape:groupmode="layer" id="layer1" transform="translate(-61.261273,-177.07438)"> -Atlas - + + + + + + +Apache + id="text2747"> + + + + + + +
svn commit: r1864838 - /comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py
Author: humbedooh Date: Sat Aug 10 05:30:39 2019 New Revision: 1864838 URL: http://svn.apache.org/viewvc?rev=1864838=rev Log: move drafts dir Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py?rev=1864838=1864837=1864838=diff == --- comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py (original) +++ comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Sat Aug 10 05:30:39 2019 @@ -10,7 +10,7 @@ import pdata import committee_info import rapp.whimsy -DRAFTS_DIR = '/tmp/rapp-drafts' +DRAFTS_DIR = '/var/lib/rapp/drafts' EDITOR_TYPE = 'unified' if not os.path.isdir(DRAFTS_DIR):
svn commit: r1864830 - /comdev/project-logos/originals/jackrabbit-oak.svg
Author: humbedooh Date: Fri Aug 9 19:29:36 2019 New Revision: 1864830 URL: http://svn.apache.org/viewvc?rev=1864830=rev Log: tweak Modified: comdev/project-logos/originals/jackrabbit-oak.svg Modified: comdev/project-logos/originals/jackrabbit-oak.svg URL: http://svn.apache.org/viewvc/comdev/project-logos/originals/jackrabbit-oak.svg?rev=1864830=1864829=1864830=diff == --- comdev/project-logos/originals/jackrabbit-oak.svg (original) +++ comdev/project-logos/originals/jackrabbit-oak.svg Fri Aug 9 19:29:36 2019 @@ -105,13 +105,13 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="2.8" - inkscape:cx="328.27537" - inkscape:cy="246.42402" + inkscape:zoom="11.2" + inkscape:cx="293.47121" + inkscape:cy="35.709735" inkscape:document-units="mm" - inkscape:current-layer="g979" + inkscape:current-layer="layer1" showgrid="false" - inkscape:snap-global="false" + inkscape:snap-global="true" inkscape:window-width="3726" inkscape:window-height="2049" inkscape:window-x="114" @@ -965,8 +965,8 @@ transform="matrix(-0.82273479,-0.36105832,-0.72531352,1.6527542,292.53944,-98.962079)" /> + transform="matrix(2.0404446,0,0,2.0439367,-50.294557,-226.82183)" />
svn commit: r1864829 - /comdev/project-logos/originals/jackrabbit-oak.svg
Author: humbedooh Date: Fri Aug 9 19:23:59 2019 New Revision: 1864829 URL: http://svn.apache.org/viewvc?rev=1864829=rev Log: Add jackrabbit oak, hand-traced. Added: comdev/project-logos/originals/jackrabbit-oak.svg Added: comdev/project-logos/originals/jackrabbit-oak.svg URL: http://svn.apache.org/viewvc/comdev/project-logos/originals/jackrabbit-oak.svg?rev=1864829=auto == --- comdev/project-logos/originals/jackrabbit-oak.svg (added) +++ comdev/project-logos/originals/jackrabbit-oak.svg Fri Aug 9 19:23:59 2019 @@ -0,0 +1,1016 @@ + + + +http://purl.org/dc/elements/1.1/; + xmlns:cc="http://creativecommons.org/ns#; + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#; + xmlns:svg="http://www.w3.org/2000/svg; + xmlns="http://www.w3.org/2000/svg; + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd; + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape; + width="186.79739mm" + height="194.03369mm" + viewBox="0 0 186.79739 194.03369" + version="1.1" + id="svg8" + inkscape:version="0.92.3 (2405546, 2018-03-11)" + sodipodi:docname="jackrabbit-oak.svg"> + + + + + + + + + + + + + + + + + + + + + + + + + + + +image/svg+xml +http://purl.org/dc/dcmitype/StillImage; /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
svn commit: r1864826 - in /comdev/reporter.apache.org/trunk/scripts/rapp: drafts.py whimsy.py
Author: humbedooh Date: Fri Aug 9 17:32:31 2019 New Revision: 1864826 URL: http://svn.apache.org/viewvc?rev=1864826=rev Log: Updates: - fetch calendar from whimsy to determine which agenda in use - better (future?) checks for partial content - list agenda file in forgotten API Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py comdev/reporter.apache.org/trunk/scripts/rapp/whimsy.py Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py?rev=1864826=1864825=1864826=diff == --- comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py (original) +++ comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Fri Aug 9 17:32:31 2019 @@ -118,7 +118,8 @@ def save(environ, user): def forgotten(environ, user): """ Query for which TLP reports have drafts but haven't filed to agenda yet """ -agenda, cached = rapp.whimsy.get_whimsy(rapp.whimsy.WHIMSY_AGENDA, environ) +which_agenda, aurl = rapp.whimsy.latest_agenda(environ) +agenda, cached = rapp.whimsy.get_whimsy(aurl, environ) drafts = sorted([x for x in os.listdir(DRAFTS_DIR) if x.startswith(EDITOR_TYPE) and x.endswith('.draft')]) lost = {} for entry in agenda: @@ -129,6 +130,7 @@ def forgotten(environ, user): if entry.get('report'): lost[rid] = { 'filed': True, +'agenda': which_agenda, 'attach': entry['attach'] } else: @@ -150,6 +152,7 @@ def forgotten(environ, user): last_author = u.replace('.draft', '') lost[rid] = { 'filed': False, +'agenda': which_agenda, 'has_draft': has_draft, 'last_draft': last_report, 'last_author': last_author, Modified: comdev/reporter.apache.org/trunk/scripts/rapp/whimsy.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/rapp/whimsy.py?rev=1864826=1864825=1864826=diff == --- comdev/reporter.apache.org/trunk/scripts/rapp/whimsy.py (original) +++ comdev/reporter.apache.org/trunk/scripts/rapp/whimsy.py Fri Aug 9 17:32:31 2019 @@ -11,8 +11,11 @@ import pdata import committee_info WHIMSY_SUBMIT = 'https://whimsy.apache.org/board/agenda/json/post' -WHIMSY_AGENDA = 'https://whimsy.apache.org/board/agenda/latest.json' +WHIMSY_AGENDA_IP = 'https://whimsy.apache.org/board/agenda/%s.json' +WHIMSY_AGENDA_RE = r'https://whimsy\.apache\.org/board/agenda/(latest|\d+-\d+-\d+)\.json' + WHIMSY_COMMENTS = 'https://whimsy.apache.org/board/agenda/json/historical-comments' +WHIMSY_CALENDAR = 'https://whimsy.apache.org/board/agenda/calendar.json' def get_whimsy(url, env, ttl = 14400): cached = True @@ -23,10 +26,13 @@ def get_whimsy(url, env, ttl = 14400): else: try: print("Fetching %s => %s..." % (url, wanted_file)) -js = requests.get(url, headers = {'Authorization': env.get('HTTP_AUTHORIZATION')}, timeout = 5).json() +rv = requests.get(url, headers = {'Authorization': env.get('HTTP_AUTHORIZATION')}, timeout = 5) +js = rv.json() -# Some weaving may be required here if we're not member or chair -if url == WHIMSY_AGENDA and len(js) < 50 and ttl <= 3600: +# If we get a partial response (206), we need to weave the partial +# into the full object in cache. +if re.match(WHIMSY_AGENDA_RE, url) and (len(js) < 50 or rv.status_code == 206): +print("Got partial response, weaving!!") try: ojs = json.load(open(wanted_file)) except: @@ -51,7 +57,7 @@ def get_whimsy(url, env, ttl = 14400): js = ojs # Extend old cache if needed -elif url == WHIMSY_COMMENTS: +elif url == WHIMSY_COMMENTS and rv.status_code == 206: try: ojs = json.load(open(wanted_file)) except: @@ -70,6 +76,15 @@ def get_whimsy(url, env, ttl = 14400): return js, cached +def latest_agenda(environ): +calendar, cached = get_whimsy(WHIMSY_CALENDAR, environ) +latest = calendar['agendas'][-1] +ymd = re.match(r"board_agenda_(\d\d\d\d_\d\d_\d\d)\.txt", latest) +if ymd: +return latest, WHIMSY_AGENDA_IP % ymd.group(1).replace('_', '-') +else: +return latest, WHIMSY_AGENDA_IP % 'latest' + def has_access(user, project): member = pdata.isASFMember(user) pmc = project in pdata.getPMCs(user) @@ -88,15 +103,17 @@ def guess_title(project):
svn commit: r1864822 - in /comdev/reporter.apache.org/trunk/scripts: pdata.py rapp/kibble.py
Author: humbedooh Date: Fri Aug 9 16:42:38 2019 New Revision: 1864822 URL: http://svn.apache.org/viewvc?rev=1864822=rev Log: move kibble into wsgi so we can also tweak mailing list stats etc atl Added: comdev/reporter.apache.org/trunk/scripts/rapp/kibble.py (with props) Modified: comdev/reporter.apache.org/trunk/scripts/pdata.py Modified: comdev/reporter.apache.org/trunk/scripts/pdata.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/pdata.py?rev=1864822=1864821=1864822=diff == --- comdev/reporter.apache.org/trunk/scripts/pdata.py (original) +++ comdev/reporter.apache.org/trunk/scripts/pdata.py Fri Aug 9 16:42:38 2019 @@ -23,6 +23,7 @@ import os, sys, re, json, subprocess, time import base64, requests +import rapp.kibble CACHE_TIMEOUT = 14400 @@ -278,6 +279,10 @@ def generate(user, project, runkibble): lastRead = time.time() emails = {} +mlid = project # mailing list ID, might differ from ldap id +for k, v in pmap.items(): +if v == project: +mlid = k for entry in mld: # e.g. hc-dev, ant-users, ws-dev tlp = entry.split("-")[0] @@ -285,9 +290,7 @@ def generate(user, project, runkibble): if tlp == "empire": tlp = "empire-db" nentry = entry.replace("empire-", "empire-db-") -if tlp in pmap: # convert ml prefix to PMC internal name -tlp = pmap[tlp] -if tlp == project: +if tlp == mlid: emails[nentry] = mld[entry] dates = {} @@ -373,19 +376,9 @@ def generate(user, project, runkibble): kibble = None if runkibble: try: -xenv = os.environ.copy() -if 'SCRIPT_NAME' in xenv: -del xenv['SCRIPT_NAME'] -cmd = ('%s/site/wizard/kibble.py' % RAOHOME_FULL, project) -if jdata and jdata[2]: -cmd += tuple(jdata[2]) -txt = subprocess.check_output(cmd, env = xenv) -if type(txt) is bytes: -txt = txt.decode('ascii') -kibble = json.loads(txt) -except subprocess.CalledProcessError as e: -return None - +kibble = rapp.kibble.stats(project, jira = jdata[2], mlid = mlid) +except: +pass output = { 'count': count, Added: comdev/reporter.apache.org/trunk/scripts/rapp/kibble.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/rapp/kibble.py?rev=1864822=auto == --- comdev/reporter.apache.org/trunk/scripts/rapp/kibble.py (added) +++ comdev/reporter.apache.org/trunk/scripts/rapp/kibble.py Fri Aug 9 16:42:38 2019 @@ -0,0 +1,331 @@ +#!/usr/bin/env python3 +""" Script for fetching somekibble data for reports """ +import requests +import json +import time +import re +import os + +RAO_HOME = '/var/www/reporter.apache.org' +TOKEN = open('%s/data/kibble-token.txt' % RAO_HOME).read().strip() + +def stats(project, jira = [], mlid = None): +BEFORE = int(time.time() - (91*86400)) +if not mlid: +mlid = project + +# Check for cache? +if not re.match(r"^[-_.a-z0-9]+$", project): +project = "bogus" +cache_file = '/tmp/kibble-cache-%s.json' % project +runit = True +js = {} +if (os.path.exists(cache_file) and os.path.getmtime(cache_file) > (time.time() - 86400)): +output = open(cache_file, "r").read() +try: +js = json.loads(output) +assert('prs' in js) +runit = False +except: +pass +if runit: +# Issues/PRs +issues = requests.post('https://demo.kibble.apache.org/api/issue/issues', + headers = { +'Content-Type': 'application/json', +'Kibble-Token': TOKEN, + }, + json = { +"page":"issues", +"quick":True, +"interval": "week", +"subfilter":"/(?:incubator-)?" + project + ".*\\.git", +"distinguish":True +} + ).json(); +after = [x for x in issues['timeseries'] if x['date'] > BEFORE] +before = [x for x in issues['timeseries'] if x['date'] <= BEFORE] +pro_before = 0 +prc_before = 0 +for month in before: +pro_before += month.get('pull requests ope
svn commit: r1864821 - in /comdev/reporter.apache.org/trunk/site/wizard: comments.py drafts.py whimsy.py
Author: humbedooh Date: Fri Aug 9 15:51:10 2019 New Revision: 1864821 URL: http://svn.apache.org/viewvc?rev=1864821=rev Log: remove no longer needed scripts Removed: comdev/reporter.apache.org/trunk/site/wizard/comments.py comdev/reporter.apache.org/trunk/site/wizard/drafts.py comdev/reporter.apache.org/trunk/site/wizard/whimsy.py
svn commit: r1864820 - in /comdev/reporter.apache.org/trunk/site: index.html wizard/index.html
Author: humbedooh Date: Fri Aug 9 15:50:17 2019 New Revision: 1864820 URL: http://svn.apache.org/viewvc?rev=1864820=rev Log: move solely to new version, to avoid breaking draft status for whimsy Modified: comdev/reporter.apache.org/trunk/site/index.html comdev/reporter.apache.org/trunk/site/wizard/index.html Modified: comdev/reporter.apache.org/trunk/site/index.html URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/index.html?rev=1864820=1864819=1864820=diff == --- comdev/reporter.apache.org/trunk/site/index.html (original) +++ comdev/reporter.apache.org/trunk/site/index.html Fri Aug 9 15:50:17 2019 @@ -23,7 +23,7 @@ Hi there!We're introducing a new tool for preparing board reports and gathering information on project activity, slated to replace the current reporter.a.o tool after the August board meeting. You can start using our new tool right away, or you can opt to continue using the old reporter for now. - Go to the new ASF Board Report Wizard (or be brave and try the September Beta!) + Go to the new ASF Board Report Wizard Go to the legacy reporter tool Modified: comdev/reporter.apache.org/trunk/site/wizard/index.html URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/index.html?rev=1864820=1864819=1864820=diff == --- comdev/reporter.apache.org/trunk/site/wizard/index.html (original) +++ comdev/reporter.apache.org/trunk/site/wizard/index.html Fri Aug 9 15:50:17 2019 @@ -49,7 +49,7 @@ -Powered by the ASF Board Report Wizard. Copyright 2019 Apache Community Development. +Powered by the ASF Board Report Wizard. Copyright 2019 Apache Community Development. Queries or other feedback should go to our mailing list: d...@community.apache.org @@ -62,7 +62,7 @@ https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"</a>; integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"> https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"</a>;> - +
svn commit: r1864818 - /comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py
Author: humbedooh Date: Fri Aug 9 15:21:44 2019 New Revision: 1864818 URL: http://svn.apache.org/viewvc?rev=1864818=rev Log: fix ts and author Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py?rev=1864818=1864817=1864818=diff == --- comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py (original) +++ comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Fri Aug 9 15:21:44 2019 @@ -134,6 +134,7 @@ def forgotten(environ, user): else: applicables = [] last_report = "" +last_author = None has_draft = False ts = 0 for filename in drafts: @@ -144,12 +145,14 @@ def forgotten(environ, user): if has_access(user, rid) and applicables: has_draft = True last_report = open(os.path.join(DRAFTS_DIR, applicables[-1]), "r").read() -ts = os.path.getmtime(os.path.join(DRAFTS_DIR, applicables[-1])) +e, p, t, u = applicables[-1].split('-', 3) +ts = int(t) +last_author = u.replace('.draft', '') lost[rid] = { 'filed': False, 'has_draft': has_draft, 'last_draft': last_report, -'last_author': u.replace('.draft', ''), +'last_author': last_author, 'draft_timestamp': ts, 'attach': entry['attach'] }
svn commit: r1864817 - /comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py
Author: humbedooh Date: Fri Aug 9 15:20:08 2019 New Revision: 1864817 URL: http://svn.apache.org/viewvc?rev=1864817=rev Log: add author Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py?rev=1864817=1864816=1864817=diff == --- comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py (original) +++ comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Fri Aug 9 15:20:08 2019 @@ -149,6 +149,7 @@ def forgotten(environ, user): 'filed': False, 'has_draft': has_draft, 'last_draft': last_report, +'last_author': u.replace('.draft', ''), 'draft_timestamp': ts, 'attach': entry['attach'] }
svn commit: r1864814 - /comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py
Author: humbedooh Date: Fri Aug 9 15:18:08 2019 New Revision: 1864814 URL: http://svn.apache.org/viewvc?rev=1864814=rev Log: typo Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py?rev=1864814=1864813=1864814=diff == --- comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py (original) +++ comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Fri Aug 9 15:18:08 2019 @@ -144,7 +144,7 @@ def forgotten(environ, user): if has_access(user, rid) and applicables: has_draft = True last_report = open(os.path.join(DRAFTS_DIR, applicables[-1]), "r").read() -ts = os.stat.getmtime(os.path.join(DRAFTS_DIR, applicables[-1])) +ts = os.path.getmtime(os.path.join(DRAFTS_DIR, applicables[-1])) lost[rid] = { 'filed': False, 'has_draft': has_draft,
svn commit: r1864813 - in /comdev/reporter.apache.org/trunk/scripts: rapp/drafts.py wsgi.py
Author: humbedooh Date: Fri Aug 9 15:15:00 2019 New Revision: 1864813 URL: http://svn.apache.org/viewvc?rev=1864813=rev Log: Add an endpoint for querying reports that have drafts but have not yet been filed. Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py comdev/reporter.apache.org/trunk/scripts/wsgi.py Modified: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py?rev=1864813=1864812=1864813=diff == --- comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py (original) +++ comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Fri Aug 9 15:15:00 2019 @@ -8,6 +8,7 @@ import json import re import pdata import committee_info +import rapp.whimsy DRAFTS_DIR = '/tmp/rapp-drafts' EDITOR_TYPE = 'unified' @@ -112,3 +113,44 @@ def save(environ, user): 'okay': False, 'error': "Invalid data!", } + + + +def forgotten(environ, user): +""" Query for which TLP reports have drafts but haven't filed to agenda yet """ +agenda, cached = rapp.whimsy.get_whimsy(rapp.whimsy.WHIMSY_AGENDA, environ) +drafts = sorted([x for x in os.listdir(DRAFTS_DIR) if x.startswith(EDITOR_TYPE) and x.endswith('.draft')]) +lost = {} +for entry in agenda: +ml = entry.get('mail_list') # mailing list id, usually correct +rid = entry.get('roster', '').replace('https://whimsy.apache.org/roster/committee/', '') # ldap id per roster +if ml and rid and 'report' in entry and entry.get('attach') >= 'A': # If standard TLP report entry... + +if entry.get('report'): +lost[rid] = { +'filed': True, +'attach': entry['attach'] +} +else: +applicables = [] +last_report = "" +has_draft = False +ts = 0 +for filename in drafts: +e, p, t, u = filename.split('-', 3) +t = int(t) +if p == rid and t > (time.time() - 45*86400): +applicables.append(filename) +if has_access(user, rid) and applicables: +has_draft = True +last_report = open(os.path.join(DRAFTS_DIR, applicables[-1]), "r").read() +ts = os.stat.getmtime(os.path.join(DRAFTS_DIR, applicables[-1])) +lost[rid] = { +'filed': False, +'has_draft': has_draft, +'last_draft': last_report, +'draft_timestamp': ts, +'attach': entry['attach'] +} + +return { 'report_status': lost } Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/wsgi.py?rev=1864813=1864812=1864813=diff == --- comdev/reporter.apache.org/trunk/scripts/wsgi.py (original) +++ comdev/reporter.apache.org/trunk/scripts/wsgi.py Fri Aug 9 15:15:00 2019 @@ -20,6 +20,7 @@ webmap = { '/api/drafts/save': rapp.drafts.save, '/api/drafts/fetch': rapp.drafts.fetch, '/api/drafts/delete': rapp.drafts.delete, +'/api/drafts/forgotten': rapp.drafts.forgotten, } def app(environ, start_fn):
svn commit: r1864764 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/unified.js wizard-beta.js
Author: humbedooh Date: Fri Aug 9 06:35:10 2019 New Revision: 1864764 URL: http://svn.apache.org/viewvc?rev=1864764=rev Log: fix weird typo Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js?rev=1864764=1864763=1864764=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js Fri Aug 9 06:35:10 2019 @@ -269,7 +269,7 @@ function UnifiedEditor_compile() { text += "Your report could possibly use some more work, and that's okay! You can always save your current report as a draft and return later to work more on it. Drafts are saved for up to two months."; } else { -text += "That's it, your board report compiled a-okay and is potentially ready for submission! If you'd lih to ke more time to work on it, you can save it as a draft, and return later to make some final edits. Or you can publish it to the agenda via Whimsy."; +text += "That's it, your board report compiled a-okay and is potentially ready for submission! If you'd like more time to work on it, you can save it as a draft, and return later to make some final edits. Or you can publish it to the agenda via Whimsy."; } text += "Save as draft" if (!meta_data.found) { Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js?rev=1864764=1864763=1864764=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Fri Aug 9 06:35:10 2019 @@ -3559,7 +3559,7 @@ function UnifiedEditor_compile() { text += "Your report could possibly use some more work, and that's okay! You can always save your current report as a draft and return later to work more on it. Drafts are saved for up to two months."; } else { -text += "That's it, your board report compiled a-okay and is potentially ready for submission! If you'd lih to ke more time to work on it, you can save it as a draft, and return later to make some final edits. Or you can publish it to the agenda via Whimsy."; +text += "That's it, your board report compiled a-okay and is potentially ready for submission! If you'd like more time to work on it, you can save it as a draft, and return later to make some final edits. Or you can publish it to the agenda via Whimsy."; } text += "Save as draft" if (!meta_data.found) {
svn commit: r1864761 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard-beta.js
Author: humbedooh Date: Fri Aug 9 06:18:00 2019 New Revision: 1864761 URL: http://svn.apache.org/viewvc?rev=1864761=rev Log: fix open/close order bug Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864761=1864760=1864761=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Fri Aug 9 06:18:00 2019 @@ -385,8 +385,8 @@ function statistics_health(data) { } } cols[0].push(date); -cols[1].push(c); -cols[2].push(o); +cols[1].push(o); +cols[2].push(c); } let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(4); let chartdiv = new HTML('div', { Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js?rev=1864761=1864760=1864761=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Fri Aug 9 06:18:00 2019 @@ -2527,8 +2527,8 @@ function statistics_health(data) { } } cols[0].push(date); -cols[1].push(c); -cols[2].push(o); +cols[1].push(o); +cols[2].push(c); } let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(4); let chartdiv = new HTML('div', {
svn commit: r1864752 - /comdev/reporter.apache.org/trunk/scripts/pdata.py
Author: humbedooh Date: Fri Aug 9 04:25:13 2019 New Revision: 1864752 URL: http://svn.apache.org/viewvc?rev=1864752=rev Log: fixups for JIRA in WSGI Modified: comdev/reporter.apache.org/trunk/scripts/pdata.py Modified: comdev/reporter.apache.org/trunk/scripts/pdata.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/pdata.py?rev=1864752=1864751=1864752=diff == --- comdev/reporter.apache.org/trunk/scripts/pdata.py (original) +++ comdev/reporter.apache.org/trunk/scripts/pdata.py Fri Aug 9 04:25:13 2019 @@ -133,7 +133,7 @@ def getJIRAProjects(project, tlpid): base64string = base64.encodestring('%s:%s' % ('githubbot', jirapass))[:-1] try: -req = requests.get("https://issues.apache.org/jira/rest/api/2/project.json;, headers = {"Authorization": "Basic %s" % base64string}).json() +x = requests.get("https://issues.apache.org/jira/rest/api/2/project.json;, headers = {"Authorization": "Basic %s" % base64string}).json() with open(RAOHOME+"data/JIRA/jira_projects.json", "w") as f: json.dump(x, f, indent=1) f.close() @@ -170,24 +170,22 @@ def getJIRAS(project): st=os.stat(RAOHOME+"data/JIRA/%s.json" % project) mtime=st.st_mtime if mtime >= (time.time() - (2*86400)): -refresh = False x = readJson(RAOHOME+"data/JIRA/%s.json" % project) +refresh = False return x[0], x[1], x[2] except: pass - if refresh: if sys.version_info >= (3, 0): -base64string = base64.encodestring(('%s:%s' % ('githubbot', jirapass)).encode('ascii'))[:-1] +base64string = base64.encodestring(('%s:%s' % ('githubbot', jirapass)).encode('ascii')).decode('ascii')[:-1] else: base64string = base64.encodestring('%s:%s' % ('githubbot', jirapass))[:-1] - try: headers = {"Authorization": "Basic %s" % base64string} -req = requests.get("""https://issues.apache.org/jira/rest/api/2/search?jql=project%20=%20'""" + project + """'%20AND%20created%20%3E=%20-91d""", headers = headers) +req = requests.get("""https://issues.apache.org/jira/rest/api/2/search?jql=project%20=%20'""" + project + """'%20AND%20created%20%3E=%20-91d""", headers = headers) cdata = req.json() req = requests.get("""https://issues.apache.org/jira/rest/api/2/search?jql=project%20=%20'""" + project + """'%20AND%20resolved%20%3E=%20-91d""", headers = headers) -rdata = req.json +rdata = req.json() with open(RAOHOME+"data/JIRA/%s.json" % project, "w") as f: json.dump([cdata['total'], rdata['total'], project], f, indent=1) f.close() @@ -335,12 +333,12 @@ def generate(user, project, runkibble): if x > 0 or y > 0: jdata[2].append(p) keys.append(jiraname) -elif group in ddata and 'name' in ddata: +elif 'name' in ddata: jiras = getJIRAProjects(ddata['name'], group) keys = jiras jdata[2] = [] for jiraname in jiras: -x,y, p= getJIRAS(jiraname) +x,y,p= getJIRAS(jiraname) jdata[0] += x jdata[1] += y if x > 0 or y > 0:
svn commit: r1864748 - /comdev/reporter.apache.org/trunk/scripts/pdata.py
Author: humbedooh Date: Fri Aug 9 04:07:02 2019 New Revision: 1864748 URL: http://svn.apache.org/viewvc?rev=1864748=rev Log: decode before sending along.. Modified: comdev/reporter.apache.org/trunk/scripts/pdata.py Modified: comdev/reporter.apache.org/trunk/scripts/pdata.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/pdata.py?rev=1864748=1864747=1864748=diff == --- comdev/reporter.apache.org/trunk/scripts/pdata.py (original) +++ comdev/reporter.apache.org/trunk/scripts/pdata.py Fri Aug 9 04:07:02 2019 @@ -128,7 +128,7 @@ def getJIRAProjects(project, tlpid): x = readJson(RAOHOME+"data/JIRA/jira_projects.json") else: if sys.version_info >= (3, 0): -base64string = base64.encodestring(('%s:%s' % ('githubbot', jirapass)).encode('ascii'))[:-1] +base64string = base64.encodestring(('%s:%s' % ('githubbot', jirapass)).encode('ascii')).decode('ascii')[:-1] else: base64string = base64.encodestring('%s:%s' % ('githubbot', jirapass))[:-1]
svn commit: r1864743 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard-beta.js
Author: humbedooh Date: Fri Aug 9 03:54:07 2019 New Revision: 1864743 URL: http://svn.apache.org/viewvc?rev=1864743=rev Log: fix ordering of bars Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864743=1864742=1864743=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Fri Aug 9 03:54:07 2019 @@ -621,8 +621,8 @@ function statistics_health(data) { } } cols[0].push(date); -cols[1].push(c); -cols[2].push(o); +cols[1].push(o); +cols[2].push(c); } let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(4); let chartdiv = new HTML('div', { @@ -749,8 +749,8 @@ function statistics_health(data) { } } cols[0].push(date); -cols[1].push(c); -cols[2].push(o); +cols[1].push(o); +cols[2].push(c); } let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(4); let chartdiv = new HTML('div', { Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js?rev=1864743=1864742=1864743=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Fri Aug 9 03:54:07 2019 @@ -2763,8 +2763,8 @@ function statistics_health(data) { } } cols[0].push(date); -cols[1].push(c); -cols[2].push(o); +cols[1].push(o); +cols[2].push(c); } let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(4); let chartdiv = new HTML('div', { @@ -2891,8 +2891,8 @@ function statistics_health(data) { } } cols[0].push(date); -cols[1].push(c); -cols[2].push(o); +cols[1].push(o); +cols[2].push(c); } let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(4); let chartdiv = new HTML('div', {
svn commit: r1864724 - /comdev/reporter.apache.org/trunk/site/wizard/beta.html
Author: humbedooh Date: Thu Aug 8 16:17:36 2019 New Revision: 1864724 URL: http://svn.apache.org/viewvc?rev=1864724=rev Log: use beta page if on beta.. Modified: comdev/reporter.apache.org/trunk/site/wizard/beta.html Modified: comdev/reporter.apache.org/trunk/site/wizard/beta.html URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/beta.html?rev=1864724=1864723=1864724=diff == --- comdev/reporter.apache.org/trunk/site/wizard/beta.html (original) +++ comdev/reporter.apache.org/trunk/site/wizard/beta.html Thu Aug 8 16:17:36 2019 @@ -49,7 +49,7 @@ -Powered by the ASF Board Report Wizard. Copyright 2019 Apache Community Development. +Powered by the ASF Board Report Wizard. Copyright 2019 Apache Community Development. Queries or other feedback should go to our mailing list: d...@community.apache.org
svn commit: r1864720 - /comdev/reporter.apache.org/trunk/scripts/rapp/whimsy.py
Author: humbedooh Date: Thu Aug 8 15:40:26 2019 New Revision: 1864720 URL: http://svn.apache.org/viewvc?rev=1864720=rev Log: weave in data in special cases where non-member/chair people fetch partial data from whimsy.. Modified: comdev/reporter.apache.org/trunk/scripts/rapp/whimsy.py Modified: comdev/reporter.apache.org/trunk/scripts/rapp/whimsy.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/rapp/whimsy.py?rev=1864720=1864719=1864720=diff == --- comdev/reporter.apache.org/trunk/scripts/rapp/whimsy.py (original) +++ comdev/reporter.apache.org/trunk/scripts/rapp/whimsy.py Thu Aug 8 15:40:26 2019 @@ -24,6 +24,43 @@ def get_whimsy(url, env, ttl = 14400): try: print("Fetching %s => %s..." % (url, wanted_file)) js = requests.get(url, headers = {'Authorization': env.get('HTTP_AUTHORIZATION')}, timeout = 5).json() + +# Some weaving may be required here if we're not member or chair +if url == WHIMSY_AGENDA and len(js) < 50 and ttl <= 3600: +try: +ojs = json.load(open(wanted_file)) +except: +ojs = [] +xjs = [] +for attachment in js: +aa = attachment.get('attach') +at = attachment.get('title') +found = False +for old_attachment in ojs: +ba = old_attachment.get('attach') +bt = old_attachment.get('title') +if (aa and ba and aa == ba) and (at and bt and at == bt) and attachment.get('digest'): +#print("Weaved %s into old.." % ba) +old_attachment['digest'] = attachment['digest'] +old_attachment['report'] = attachment['report'] +found = True +break +if not found: +ojs.append(attachment) + +js = ojs + +# Extend old cache if needed +elif url == WHIMSY_COMMENTS: +try: +ojs = json.load(open(wanted_file)) +except: +ojs = {} +for key, comments in js.items(): +ojs[key] = comments +js = ojs + + with open(wanted_file, "w") as f: json.dump(js, f) f.close()
svn commit: r1864711 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/unified.js wizard-beta.js
Author: humbedooh Date: Thu Aug 8 14:40:13 2019 New Revision: 1864711 URL: http://svn.apache.org/viewvc?rev=1864711=rev Log: also check for filed here... Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js?rev=1864711=1864710=1864711=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js Thu Aug 8 14:40:13 2019 @@ -188,7 +188,7 @@ function UnifiedEditor_mark_section(titl // Function for resetting a report to follow layout function UnifiedEditor_reset() { // Check whether we have a report in agenda, if so reset to that. -if (meta_data && meta_data.report) { +if (meta_data && meta_data.report && meta_data.filed) { load_from_agenda(); return } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js?rev=1864711=1864710=1864711=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Thu Aug 8 14:40:13 2019 @@ -3478,7 +3478,7 @@ function UnifiedEditor_mark_section(titl // Function for resetting a report to follow layout function UnifiedEditor_reset() { // Check whether we have a report in agenda, if so reset to that. -if (meta_data && meta_data.report) { +if (meta_data && meta_data.report && meta_data.filed) { load_from_agenda(); return }
svn commit: r1864710 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/drafts.js wizard-beta.js
Author: humbedooh Date: Thu Aug 8 14:39:21 2019 New Revision: 1864710 URL: http://svn.apache.org/viewvc?rev=1864710=rev Log: Only load agenda'ed report if...it's there! Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js?rev=1864710=1864709=1864710=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js Thu Aug 8 14:39:21 2019 @@ -179,7 +179,7 @@ function report_published(state, json) { } function load_from_agenda() { - if (meta_data && meta_data.report) { + if (meta_data && meta_data.report && meta_data.filed) { if (draft_stepper.editor.unsaved && !window.confirm("You have unsaved changes to your current draft. Do you wish to override these with the report in the agenda file??")) return; draft_stepper.editor.object.value = meta_data.report.report; draft_stepper.editor.report = meta_data.report.report; Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js?rev=1864710=1864709=1864710=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Thu Aug 8 14:39:21 2019 @@ -1194,7 +1194,7 @@ function report_published(state, json) { } function load_from_agenda() { - if (meta_data && meta_data.report) { + if (meta_data && meta_data.report && meta_data.filed) { if (draft_stepper.editor.unsaved && !window.confirm("You have unsaved changes to your current draft. Do you wish to override these with the report in the agenda file??")) return; draft_stepper.editor.object.value = meta_data.report.report; draft_stepper.editor.report = meta_data.report.report;
svn commit: r1864709 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/drafts.js source/primer.js source/unified.js wizard-beta.js
Author: humbedooh Date: Thu Aug 8 14:36:19 2019 New Revision: 1864709 URL: http://svn.apache.org/viewvc?rev=1864709=rev Log: If we have a report in agenda, load that when resetting the editor...it's a nice thing to do :) Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js comdev/reporter.apache.org/trunk/site/wizard/js/source/primer.js comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js?rev=1864709=1864708=1864709=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js Thu Aug 8 14:36:19 2019 @@ -186,5 +186,10 @@ function load_from_agenda() { window.setTimeout(() => { draft_stepper.editor.highlight() }, 250); draft_stepper.build(0, false, false); draft_stepper.editor.check_changes(true); +let reflower = document.getElementById('unified-reflow'); +if (reflower) { + reflower.innerHTML = "Notice: Loaded most recent version of report from current agenda into editor."; + reflower.style.visibility = 'visible'; +} } } \ No newline at end of file Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/primer.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/primer.js?rev=1864709=1864708=1864709=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/primer.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/primer.js Thu Aug 8 14:36:19 2019 @@ -53,6 +53,7 @@ function prime_steps(state, json) { let editor = new UnifiedEditor('unified-report', json.steps); let stepper = new ReportStepper('unified-steps', editor, json.steps, 'unified-helper'); editor.stepper = stepper; +draft_stepper = stepper; stepper.pdata = pdata; stepper.build(0, true); } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js?rev=1864709=1864708=1864709=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js Thu Aug 8 14:36:19 2019 @@ -187,6 +187,11 @@ function UnifiedEditor_mark_section(titl // Function for resetting a report to follow layout function UnifiedEditor_reset() { +// Check whether we have a report in agenda, if so reset to that. +if (meta_data && meta_data.report) { +load_from_agenda(); +return +} this.report = ""; this.changed = true; for (var i = 0; i < this.layout.length; i++) { Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js?rev=1864709=1864708=1864709=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Thu Aug 8 14:36:19 2019 @@ -1201,6 +1201,11 @@ function load_from_agenda() { window.setTimeout(() => { draft_stepper.editor.highlight() }, 250); draft_stepper.build(0, false, false); draft_stepper.editor.check_changes(true); +let reflower = document.getElementById('unified-reflow'); +if (reflower) { + reflower.innerHTML = "Notice: Loaded most recent version of report from current agenda into editor."; + reflower.style.visibility = 'visible'; +} } } @@ -1874,6 +1879,7 @@ function prime_steps(state, json) { let editor = new UnifiedEditor('unified-report', json.steps); let stepper = new ReportStepper('unified-steps', editor, json.steps, 'unified-helper'); editor.stepper = stepper; +draft_stepper = stepper; stepper.pdata = pdata; stepper.build(0, true); } @@ -3471,6 +3477,11 @@ function UnifiedEditor_mark_section(titl // Function for resetting a report to follow layout function UnifiedEditor_reset() { +// Check whether we have a report in agenda, if so reset to that. +if (meta_data && meta_data.report) { +load_from_agenda(); +return +} this.report = ""; this.changed = true; for (var i = 0; i < this.layout.length; i++) {
svn commit: r1864692 - /comdev/reporter.apache.org/trunk/site/index.html
Author: humbedooh Date: Thu Aug 8 11:33:22 2019 New Revision: 1864692 URL: http://svn.apache.org/viewvc?rev=1864692=rev Log: be bold, be brave! Modified: comdev/reporter.apache.org/trunk/site/index.html Modified: comdev/reporter.apache.org/trunk/site/index.html URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/index.html?rev=1864692=1864691=1864692=diff == --- comdev/reporter.apache.org/trunk/site/index.html (original) +++ comdev/reporter.apache.org/trunk/site/index.html Thu Aug 8 11:33:22 2019 @@ -23,7 +23,7 @@ Hi there!We're introducing a new tool for preparing board reports and gathering information on project activity, slated to replace the current reporter.a.o tool after the August board meeting. You can start using our new tool right away, or you can opt to continue using the old reporter for now. - Go to the new ASF Board Report Wizard + Go to the new ASF Board Report Wizard (or be brave and try the September Beta!) Go to the legacy reporter tool
svn commit: r1864691 - /comdev/reporter.apache.org/trunk/site/wizard/statistics.html
Author: humbedooh Date: Thu Aug 8 11:20:50 2019 New Revision: 1864691 URL: http://svn.apache.org/viewvc?rev=1864691=rev Log: might as well switch here! Modified: comdev/reporter.apache.org/trunk/site/wizard/statistics.html Modified: comdev/reporter.apache.org/trunk/site/wizard/statistics.html URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/statistics.html?rev=1864691=1864690=1864691=diff == --- comdev/reporter.apache.org/trunk/site/wizard/statistics.html (original) +++ comdev/reporter.apache.org/trunk/site/wizard/statistics.html Thu Aug 8 11:20:50 2019 @@ -65,7 +65,7 @@ - +
svn commit: r1864690 [2/2] - in /comdev/reporter.apache.org/trunk/site/wizard: ./ js/ js/source/
Added: comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js?rev=1864690=auto == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js (added) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Thu Aug 8 11:09:43 2019 @@ -0,0 +1,3702 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +// THIS IS AN AUTOMATICALLY COMBINED FILE. PLEASE EDIT source/*.js!! + + + +/** + Fetched from source/base-http-extensions.js +**/ + +// URL calls currently 'in escrow'. This controls the spinny wheel animation +var async_escrow = {} +var async_maxwait = 250; // ms to wait before displaying spinner +var async_status = 'clear'; +var async_cache = {} +var no_spinner = true; + +// Escrow spinner check +async function escrow_check() { +let now = new Date(); +let show_spinner = false; +for (var k in async_escrow) { +if ( (now - async_escrow[k]) > async_maxwait ) { +show_spinner = true; +break; +} +} +// Fetch or create the spinner +if (!no_spinner) { +let spinner = document.getElementById('spinner'); +if (!spinner) { +spinner = new HTML('div', { id: 'spinner', class: 'spinner'}); +spinwheel = new HTML('div', {id: 'spinwheel', class: 'spinwheel'}); +spinner.inject(spinwheel); +spinner.inject(new HTML('h2', {}, "Loading, please wait..")); +document.body.appendChild(spinner); +} +// Show or don't show spinner? +if (show_spinner) { +spinner.style.display = 'block'; +if (async_status === 'clear') { +console.log("Waiting for JSON resource, deploying spinner"); +async_status = 'waiting'; +} +} else { +spinner.style.display = 'none'; +if (async_status === 'waiting') { +console.log("All URLs out of escrow, dropping spinner"); +async_status = 'clear'; +} +} +} +} + +async function async_snap(error) { +msg = await error.text(); +msg = msg.replace(/<.*?>/g, ""); // strip HTML tags +modal("An error occured", "An error code %u occured while trying to fetch %s:\n%s".format(error.status, error.url, msg), "error"); +} + + +// Asynchronous GET call +async function GET(url, callback, state, snap, method, body) { +method = method || 'get' +console.log("Fetching JSON resource at %s".format(url)) +let pkey = "GET-%s-%s".format(callback, url); +let res = undefined; +let res_json = undefined; +state = state || {}; +state.url = url; +if (state && state.cached === true && async_cache[url]) { +console.log("Fetching %s from cache".format(url)); +res_json = async_cache[url]; +} +else { +try { +let meta = {method: method, credentials: 'include', referrerPolicy: 'unsafe-url', headers: {'x-original-referral': document.referrer}}; +if (body) { +meta.body = body; +meta.headers['Content-Type'] = 'application/json; charset=UTF-8'; +} +console.log("putting %s in escrow...".format(url)); +async_escrow[pkey] = new Date(); // Log start of request in escrow dict +const rv = await fetch(url, meta); // Wait for resource... + +// Since this is an async request, the request may have been canceled +// by the time we get a response. Only do callback if not. +if (async_escrow[pkey] !== undefined) { +delete async_escrow[pkey]; // move out of escrow when fetched +res = rv; +} +} +catch (e) { +delete async_escrow[pkey]; // move out of escrow if failed +console.log("The URL %s could not be fetched: %s".format(url, e)); +if (snap) snap({}, {reason: e}); +else { +modal("An error occured", "An error occured while
svn commit: r1864690 [1/2] - in /comdev/reporter.apache.org/trunk/site/wizard: ./ js/ js/source/
Author: humbedooh Date: Thu Aug 8 11:09:43 2019 New Revision: 1864690 URL: http://svn.apache.org/viewvc?rev=1864690=rev Log: Beta updates for using the new API. Not deployed in prod yet Added: comdev/reporter.apache.org/trunk/site/wizard/beta.html comdev/reporter.apache.org/trunk/site/wizard/js/wizard-beta.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/base-http-extensions.js comdev/reporter.apache.org/trunk/site/wizard/js/source/build.sh comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js comdev/reporter.apache.org/trunk/site/wizard/js/source/init.js comdev/reporter.apache.org/trunk/site/wizard/js/source/primer.js comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js Added: comdev/reporter.apache.org/trunk/site/wizard/beta.html URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/beta.html?rev=1864690=auto == --- comdev/reporter.apache.org/trunk/site/wizard/beta.html (added) +++ comdev/reporter.apache.org/trunk/site/wizard/beta.html Thu Aug 8 11:09:43 2019 @@ -0,0 +1,68 @@ + + + + + + + + + + + + + +ASF Board Report Wizard +https://fontlibrary.org/face/selawik; type="text/css"/> + + +https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css; integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> + + + + Loading base data.. + + + + Board Report Wizard + + + + + + + + + + + + Notification + + + + + + Close + + + + + + + +Powered by the ASF Board Report Wizard. Copyright 2019 Apache Community Development. +Queries or other feedback should go to our mailing list: d...@community.apache.org + + + + + +https://kit.fontawesome.com/a250232153.js"</a>;> +https://code.jquery.com/jquery-3.3.1.slim.min.js"</a>; integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"> +https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"</a>; integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"> +https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"</a>; integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"> +https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"</a>;> + + + + + Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/base-http-extensions.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/base-http-extensions.js?rev=1864690=1864689=1864690=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/base-http-extensions.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/base-http-extensions.js Thu Aug 8 11:09:43 2019 @@ -85,7 +85,7 @@ async function GET(url, callback, state, let meta = {method: method, credentials: 'include', referrerPolicy: 'unsafe-url', headers: {'x-original-referral': document.referrer}}; if (body) { meta.body = body; -meta.headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; +meta.headers['Content-Type'] = 'application/json; charset=UTF-8'; } console.log("putting %s in escrow...".format(url)); async_escrow[pkey] = new Date(); // Log start of request in escrow dict Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/build.sh URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/build.sh?rev=1864690=1864689=1864690=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/build.sh (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/build.sh Thu Aug 8 11:09:43 2019 @@ -16,9 +16,9 @@ echo '/* limitations under the License. */ // THIS IS AN AUTOMATICALLY COMBINED FILE. PLEASE EDIT source/*.js!! -' > ../wizard.js +' > ../wizard-beta.js for f in `ls *.js`; do -printf "\n\n/**\n Fetched from source/${f}\n**/\n\n" >> ../wizard.js -perl -0pe 's/\/\*.*?\*\/[\r\n]*//sm' ${f} >> ../wizard.js +printf "\n\n/
svn commit: r1864689 - in /comdev/reporter.apache.org/trunk/scripts: pdata.py rapp/ rapp/drafts.py rapp/overview.py rapp/whimsy.py wsgi.py
Author: humbedooh Date: Thu Aug 8 11:07:48 2019 New Revision: 1864689 URL: http://svn.apache.org/viewvc?rev=1864689=rev Log: Add in new API endpoints for WSGI app. Added: comdev/reporter.apache.org/trunk/scripts/rapp/ comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py comdev/reporter.apache.org/trunk/scripts/rapp/overview.py comdev/reporter.apache.org/trunk/scripts/rapp/whimsy.py Modified: comdev/reporter.apache.org/trunk/scripts/pdata.py comdev/reporter.apache.org/trunk/scripts/wsgi.py Modified: comdev/reporter.apache.org/trunk/scripts/pdata.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/pdata.py?rev=1864689=1864688=1864689=diff == --- comdev/reporter.apache.org/trunk/scripts/pdata.py (original) +++ comdev/reporter.apache.org/trunk/scripts/pdata.py Thu Aug 8 11:07:48 2019 @@ -41,6 +41,9 @@ MEMBER_INFO = 'https://whimsy.apache.org PROJECTS = 'https://whimsy.apache.org/public/public_ldap_projects.json' DESCRIPTIONS = 'https://projects.apache.org/json/foundation/committees.json' +def has_cache(filename, ttl = 14400): +return (os.path.exists(filename) and os.path.getmtime(filename) > (time.time() - ttl)) + jmap = { 'trafficserver': ['TS'], 'cordova': ['CB'], Added: comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py?rev=1864689=auto == --- comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py (added) +++ comdev/reporter.apache.org/trunk/scripts/rapp/drafts.py Thu Aug 8 11:07:48 2019 @@ -0,0 +1,114 @@ +#!/usr/bin/env python3 +# -*- coding: UTF-8 -*- +""" script for working with drafts """ +import os +import sys +import time +import json +import re +import pdata +import committee_info + +DRAFTS_DIR = '/tmp/rapp-drafts' +EDITOR_TYPE = 'unified' + +if not os.path.isdir(DRAFTS_DIR): +os.makedirs(DRAFTS_DIR, exist_ok = True) + +def has_access(user, project): +member = pdata.isASFMember(user) +pmc = project in pdata.getPMCs(user) +return (member or pmc) + +def index(environ, user): +""" Listy currently existing drafts for a project """ +project = environ.get('QUERY_STRING') +drafts = {} + +if has_access(user, project): +whence = int(time.time() - (60*86400)) # Max 2 months ago! +for filename in [x for x in os.listdir(DRAFTS_DIR) if x.startswith(EDITOR_TYPE) and x.endswith('.draft')]: +e, p, t, u = filename.split('-', 3) +t = int(t) +# If a file is way old, try deleting it. +if t < whence: +try: +os.unlink("%s/%s" % (DRAFTS_DIR, filename)) +except: +pass +elif p == project and t >= whence: +u = u.replace('.draft', '') +drafts[t] = {'filename': filename, 'creator': u, 'yours': user == u} + +return { 'drafts': drafts } + +def fetch(environ, user): +""" Fetch a draft if access is right... """ +filename = environ.get('QUERY_STRING') +m = re.match(r"[^-./]+-([^-./]+)-\d+-[^-./]+\.draft$", filename) +if not m: +return {'error': "Invalid filename!"} +if os.path.exists(os.path.join(DRAFTS_DIR, filename)): +project = m.group(1) +if has_access(user, project): +report = open(os.path.join(DRAFTS_DIR, filename), "r").read() +return {'report': report} +return {} + +def delete(environ, user): +""" Delete a draft if access is right... """ +filename = environ.get('QUERY_STRING') +m = re.match(r"[^-./]+-[^-./]+-\d+-([^-/]+)\.draft$", filename) +if not m: +return {'error': "Invalid filename!"} +if os.path.exists(os.path.join(DRAFTS_DIR, filename)): +u = m.group(1) +if user == u: +try: +os.unlink(os.path.join(DRAFTS_DIR, filename)) +return {'message': 'Draft deleted'} +except: +pass +return {'error': "Could not delete draft!"} + +def save(environ, user): +""" Save a draft """ +try: +request_body_size = int(environ.get('CONTENT_LENGTH', 0)) +except (ValueError): +request_body_size = 0 +if request_body_size: +request_body = environ['wsgi.input'].read(request_body_size) +try: +js = json.loads(request_body.decode('utf-8')) +except: +js = {} +if js: +project = js.get('project') +if has_access(user, project): +report = js.get('report') +n
svn commit: r1864684 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/generators.js source/statistics_generator.js wizard.js
Author: humbedooh Date: Thu Aug 8 06:52:38 2019 New Revision: 1864684 URL: http://svn.apache.org/viewvc?rev=1864684=rev Log: force UTC Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js?rev=1864684=1864683=1864684=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js Thu Aug 8 06:52:38 2019 @@ -484,7 +484,7 @@ function activity_tips(data) { if (releases_shown == to_show) break; let reldate = moment(data.releases[project][rel] * 1000.0); if (ts == reldate.unix()) { - rtxt += "%s was released on %s.".format(rel, reldate.format('-MM-DD')); + rtxt += "%s was released on %s.".format(rel, reldate.utc().format('-MM-DD')); releases_shown++; } } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864684=1864683=1864684=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Thu Aug 8 06:52:38 2019 @@ -948,7 +948,7 @@ function statistics_releases(data) { if (releases_shown == to_show) break; let reldate = moment(data.releases[project][rel] * 1000.0); if (ts == reldate.unix()) { -rtxt += "%s was released on %s.".format(rel, reldate.format('-MM-DD')); +rtxt += "%s was released on %s.".format(rel, reldate.utc().format('-MM-DD')); releases_shown++; } } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864684=1864683=1864684=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Thu Aug 8 06:52:38 2019 @@ -1672,7 +1672,7 @@ function activity_tips(data) { if (releases_shown == to_show) break; let reldate = moment(data.releases[project][rel] * 1000.0); if (ts == reldate.unix()) { - rtxt += "%s was released on %s.".format(rel, reldate.format('-MM-DD')); + rtxt += "%s was released on %s.".format(rel, reldate.utc().format('-MM-DD')); releases_shown++; } } @@ -3050,7 +3050,7 @@ function statistics_releases(data) { if (releases_shown == to_show) break; let reldate = moment(data.releases[project][rel] * 1000.0); if (ts == reldate.unix()) { -rtxt += "%s was released on %s.".format(rel, reldate.format('-MM-DD')); +rtxt += "%s was released on %s.".format(rel, reldate.utc().format('-MM-DD')); releases_shown++; } }
svn commit: r1864631 - /comdev/reporter.apache.org/trunk/site/index.html
Author: humbedooh Date: Wed Aug 7 16:16:28 2019 New Revision: 1864631 URL: http://svn.apache.org/viewvc?rev=1864631=rev Log: add new front page Added: comdev/reporter.apache.org/trunk/site/index.html Added: comdev/reporter.apache.org/trunk/site/index.html URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/index.html?rev=1864631=auto == --- comdev/reporter.apache.org/trunk/site/index.html (added) +++ comdev/reporter.apache.org/trunk/site/index.html Wed Aug 7 16:16:28 2019 @@ -0,0 +1,42 @@ + + + + + + + + + + + + + +ASF Board Report Tools +https://fontlibrary.org/face/selawik; type="text/css"/> + + + + + + +ASF Board Report Tools +Hi there!We're introducing a new tool for preparing board reports and gathering information on project activity, slated to replace the current reporter.a.o tool after the August board meeting. +You can start using our new tool right away, or you can opt to continue using the old reporter for now. + + Go to the new ASF Board Report Wizard + Go to the legacy reporter tool + + + + + +Powered by the ASF Board Report Wizard. Copyright 2019 Apache Community Development. +Queries or other feedback should go to our mailing list: d...@community.apache.org + + + +https://kit.fontawesome.com/a250232153.js"</a>;> + + + +
svn commit: r1864630 - in /comdev/reporter.apache.org/trunk/site: index.html old.html
Author: humbedooh Date: Wed Aug 7 16:16:18 2019 New Revision: 1864630 URL: http://svn.apache.org/viewvc?rev=1864630=rev Log: Rename old tool to old.html (new front page coming) Added: comdev/reporter.apache.org/trunk/site/old.html - copied unchanged from r1864629, comdev/reporter.apache.org/trunk/site/index.html Removed: comdev/reporter.apache.org/trunk/site/index.html
svn commit: r1864629 - /comdev/reporter.apache.org/trunk/site/wizard/steps.json
Author: humbedooh Date: Wed Aug 7 15:40:33 2019 New Revision: 1864629 URL: http://svn.apache.org/viewvc?rev=1864629=rev Log: emphasize that metrics do not belong in this section. Modified: comdev/reporter.apache.org/trunk/site/wizard/steps.json Modified: comdev/reporter.apache.org/trunk/site/wizard/steps.json URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/steps.json?rev=1864629=1864628=1864629=diff == --- comdev/reporter.apache.org/trunk/site/wizard/steps.json (original) +++ comdev/reporter.apache.org/trunk/site/wizard/steps.json Wed Aug 7 15:40:33 2019 @@ -30,7 +30,7 @@ "id": "activity", "icon": "skiing", "description": "Project Activity", -"help": "Please write a few lines (or more!) about the recent activity in the project and the community. This could be new software releases, new features, or community activity such as conferences and meetups.", +"help": "Please write a few lines (or more!) about the recent activity in the project and the community. This could be new software releases, new features, or community activity such as conferences and meetups. It should NOT be about metrics such as commits or emails, save that for the Community Health section please.", "placeholder": "Example activity entries:\n\n- Apache Foo 1.2.3 Was released on 2019-04-05\n- Project members attended FooCon, it was a resounding success!\n- Added support for FooLib 2 and Async Gnoming.", "tipgenerator": "activity_tips", "statsgenerator": "statistics_releases",
svn commit: r1864628 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/unified.js wizard.js
Author: humbedooh Date: Wed Aug 7 15:15:53 2019 New Revision: 1864628 URL: http://svn.apache.org/viewvc?rev=1864628=rev Log: add unload dialog if unsaved changes. Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js?rev=1864628=1864627=1864628=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js Wed Aug 7 15:15:53 2019 @@ -287,9 +287,14 @@ function UnifiedEditor_check_changes(for let btn = new HTML('button', { onclick: 'save_draft();', class: 'btn btn-warning btn-sm'}, 'Save draft'); saver.inject(btn); saver.style.display = 'inline-block'; +window.onbeforeunload = (e) => { +return "You have unsaved changes to this report. Are you sure you wish to abandon these changes?"; +} + } } else if (saver) { saver.style.display = 'none'; +window.onbeforeunload = null; } } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864628=1864627=1864628=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Wed Aug 7 15:15:53 2019 @@ -3537,9 +3537,14 @@ function UnifiedEditor_check_changes(for let btn = new HTML('button', { onclick: 'save_draft();', class: 'btn btn-warning btn-sm'}, 'Save draft'); saver.inject(btn); saver.style.display = 'inline-block'; +window.onbeforeunload = (e) => { +return "You have unsaved changes to this report. Are you sure you wish to abandon these changes?"; +} + } } else if (saver) { saver.style.display = 'none'; +window.onbeforeunload = null; } }
svn commit: r1864627 - in /comdev/reporter.apache.org/trunk/site/wizard: css/wizard.css index.html js/source/drafts.js js/source/stepper.js js/source/unified.js js/wizard.js
Author: humbedooh Date: Wed Aug 7 15:02:33 2019 New Revision: 1864627 URL: http://svn.apache.org/viewvc?rev=1864627=rev Log: Add a 'save checker' that reminds you to save when you have unsaved changes to your report. At the same time, rework the stepper a bit, to cut down on the number of times we redraw the helper panel. Modified: comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css comdev/reporter.apache.org/trunk/site/wizard/index.html comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js comdev/reporter.apache.org/trunk/site/wizard/js/source/stepper.js comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css?rev=1864627=1864626=1864627=diff == --- comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css (original) +++ comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css Wed Aug 7 15:02:33 2019 @@ -16,6 +16,21 @@ body { vertical-align:top; } +#unified-saver { + position: absolute; + bottom: 0; + right: 0; + left: 0; + width: 100%; + height: 32px; + padding: 4px; + z-index: 1000; + background: #333B; + color: #FFF; + font-weight: 600; + line-height: 24px; +} + .wizard-step { width: 64px !important; height: 64px; @@ -172,6 +187,7 @@ body { #unified-helper { + position: relative; border-top-right-radius: 5px; border-bottom-right-radius: 5px; display: inline-block; Modified: comdev/reporter.apache.org/trunk/site/wizard/index.html URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/index.html?rev=1864627=1864626=1864627=diff == --- comdev/reporter.apache.org/trunk/site/wizard/index.html (original) +++ comdev/reporter.apache.org/trunk/site/wizard/index.html Wed Aug 7 15:02:33 2019 @@ -13,8 +13,8 @@ ASF Board Report Wizard https://fontlibrary.org/face/selawik; type="text/css"/> - - + + https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css; integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> @@ -62,7 +62,7 @@ https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"</a>; integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"> https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"</a>;> - + Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js?rev=1864627=1864626=1864627=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js Wed Aug 7 15:02:33 2019 @@ -31,6 +31,7 @@ function draft_saved(state, json) { document.getElementById("pname").style.display = 'block'; if (json.filename) { +draft_stepper.editor.check_changes(true); modal("Draft was saved in the reporter database as %s. You can revisit this draft at any time by loading it from the base data tab. Drafts are kept for up to two months.".format(json.filename)); let obj = { yours: true, @@ -55,6 +56,7 @@ function read_draft(state, json) { draft_stepper.editor.report = json.report; window.setTimeout(() => { draft_stepper.editor.highlight() }, 250); draft_stepper.build(0, false, false); +draft_stepper.editor.check_changes(true); modal("Draft was successfully loaded and is ready."); } else { modal("Could not load report draft :/"); @@ -159,6 +161,7 @@ function report_published(state, json) { if (json && json.okay) { modal("Your report was successfully posted to the board agenda!"); +draft_stepper.editor.check_changes(true); } else { modal("Something went wrong, and we couldn't publish your report.Please check with the Whimsy tool to see if there is already a report posted!"); } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/stepper.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/stepper.js?rev=1864627=1864626=1864627=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/stepper.js (original) +++ comdev/reporter.apache.org/t
svn commit: r1864626 - /comdev/reporter.apache.org/trunk/scripts/wsgi.py
Author: humbedooh Date: Wed Aug 7 13:52:11 2019 New Revision: 1864626 URL: http://svn.apache.org/viewvc?rev=1864626=rev Log: We should return content-length... Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/wsgi.py?rev=1864626=1864625=1864626=diff == --- comdev/reporter.apache.org/trunk/scripts/wsgi.py (original) +++ comdev/reporter.apache.org/trunk/scripts/wsgi.py Wed Aug 7 13:52:11 2019 @@ -14,7 +14,7 @@ def app(environ, start_fn): committers = pdata.loadJson(pdata.COMMITTER_INFO)['people'] pmcSummary = committee_info.PMCsummary() project = environ.get('QUERY_STRING') -user = environ.get('HTTP_X_AUTHENTICATED_USER') +user = environ.get('HTTP_X_AUTHENTICATED_USER', 'humbedooh') output = {'okay': False, 'error': 'Unknown user ID provided!'} @@ -56,7 +56,7 @@ def app(environ, start_fn): dumps['pmcs'] = sorted(groups) dumps['pmcsummary'] = pmcSummary output = dumps - -start_fn('200 OK', [('Content-Type', 'application/json')]) -return [json.dumps(output, indent = 2, sort_keys = True).encode('ascii')] +out = json.dumps(output, indent = 2, sort_keys = True).encode('ascii') +start_fn('200 OK', [('Content-Type', 'application/json'), ('Content-Length', str(len(out)))]) +return [out]
svn commit: r1864598 - /comdev/reporter.apache.org/trunk/site/wizard/kibble.py
Author: humbedooh Date: Wed Aug 7 08:19:54 2019 New Revision: 1864598 URL: http://svn.apache.org/viewvc?rev=1864598=rev Log: weave in dev and user list advanced stats (threads and authors) Modified: comdev/reporter.apache.org/trunk/site/wizard/kibble.py Modified: comdev/reporter.apache.org/trunk/site/wizard/kibble.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/kibble.py?rev=1864598=1864597=1864598=diff == --- comdev/reporter.apache.org/trunk/site/wizard/kibble.py (original) +++ comdev/reporter.apache.org/trunk/site/wizard/kibble.py Wed Aug 7 08:19:54 2019 @@ -213,6 +213,39 @@ def main(): cmtp_change = '%u%%' % int((cmtp_after - cmtp_before) / (cmtp_before or 1) * 100) +# Dev+user list traffic? +dev_ts = [] +user_ts = [] +if True: +ml = r'dev@%s\.apache\.org' % project +emails = requests.post('https://demo.kibble.apache.org/api/mail/timeseries-single', + headers = { +'Content-Type': 'application/json', +'Kibble-Token': TOKEN, + }, + json = { +"quick":True, +"interval": "week", +"subfilter":"\?%s$" % ml, +} + ).json() +dev_ts = emails['timeseries'] + +ml = r'users?@%s\.apache\.org' % project +emails = requests.post('https://demo.kibble.apache.org/api/mail/timeseries-single', + headers = { +'Content-Type': 'application/json', +'Kibble-Token': TOKEN, + }, + json = { +"quick":True, +"interval": "week", +"subfilter":"\?%s$" % ml, +} + ).json() +user_ts = emails['timeseries'] + + # Most discussed email topics # This requires 4 months of data because data is compiled into # monthly segments, so mid-month requests return skewed data. @@ -296,6 +329,8 @@ def main(): 'github': github_ts, 'jira': jira_ts, 'commits': commit_ts, +'devlist': dev_ts, +'userlist': user_ts, } } output = json.dumps(js, indent = 2)
svn commit: r1864599 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard.js
Author: humbedooh Date: Wed Aug 7 08:21:04 2019 New Revision: 1864599 URL: http://svn.apache.org/viewvc?rev=1864599=rev Log: If dev or user list, and we have detailed stats via kibble, show those instead Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864599=1864598=1864599=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Wed Aug 7 08:21:04 2019 @@ -121,6 +121,87 @@ function statistics_meta(data) { } +function kibble_mailstats(xhtml, timeseries, color) { + +let cols = [ +['x'], +['emails'], +['threads'], +['authors'] +]; +for (var i = 0; i < 27; i++) { +let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(1); +let c = 0; +let o = 0; +let a = 0; +for (var n = 0; n < timeseries.length; n++) { +let el = timeseries[n]; +if (el.date == date.unix()) { +c = el['emails']; +o = el['threads']; +a = el['authors']; +} +} +cols[0].push(date); +cols[1].push(c); +cols[2].push(o); +cols[3].push(a); +} +let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(4); +let chartdiv = new HTML('div', { +style: { +clear: 'both', +width: '620px', +height: '220px', +position: 'relative', +background: '#FFF', +borderRadius: '5px', +border: '0.75px solid #333' +} +}); +xhtml.inject(chartdiv); +let chart = c3.generate({ +bindto: chartdiv, +axis: { +x: { +type: 'timeseries', +tick: { +count: 13, +format: (x) => { +return moment(x).format('MMM D, '); +} +} +} +}, +data: { +x: 'x', +types: { +'emails': 'bar', +'authors': 'line', +'threads': 'line' +}, +columns: cols, +colors: { +'emails': color +}, +color: (color, d) => { +return d.index < 13 ? '#9639' : color; +} +}, +bar: { +width: { +ratio: 0.25 +} +}, +tooltip: { +format: { +title: (x) => 'Week %s'.format(moment(x).format('W, ')) +} +} +}); +xhtml.inject(new HTML('br')); +} + function statistics_health(data) { let html = new HTML('div', { style: { @@ -153,16 +234,22 @@ function statistics_health(data) { if (isNaN(pct_change) || !isFinite(pct_change)) { pct_change_txt = 'big'; } +let color = '#369'; if (pct_change >= 0 && (mldata.quarterly[0] > 10 || a[2] == 'dev')) { txt += "%s had a %s increase in traffic in the past quarter (%u emails compared to %u):".format(ml, pct_change_txt, mldata.quarterly[0], mldata.quarterly[1]); +color = '#080'; } else if (pct_change < 0 && (mldata.quarterly[1] > 10 || a[2] == 'dev')) { txt += "%s had a %s decrease in traffic in the past quarter (%u emails compared to %u):".format(ml, pct_change_txt, mldata.quarterly[0], mldata.quarterly[1]); +color = '#800'; } xhtml.innerHTML = txt; html.inject(xhtml); + +let hasdevlist = (a[2] == 'dev' && data.kibble.timeseries.devlist && data.kibble.timeseries.devlist.length); +let hasuserlist = (a[2].match(/^users?$/) && data.kibble.timeseries.devlist && data.kibble.timeseries.devlist.length); -if (txt.length > 0) { +if (txt.length > 0 && !(hasdevlist||hasuserlist)) { let cols = [ ['x'], [ml] @@ -219,6 +306,10 @@ function statistics_health(data) { } }); xhtml.inject(new HTML('br')) +} else if (hasdevlist) { +kibble_mailstats(xhtml, data.kibble.timeseries.devlist, color); +} else if (hasuserlist) { +kibble_mailstats(xhtml, data.kibble.timeseries.userlist, color); } } @@ -713,7 +804,6 @@ f
svn commit: r1864607 - /comdev/reporter.apache.org/trunk/README.txt
Author: humbedooh Date: Wed Aug 7 09:26:40 2019 New Revision: 1864607 URL: http://svn.apache.org/viewvc?rev=1864607=rev Log: add gunicorn check for reporter.a.o. at a later point, we should puppetize most of this. Modified: comdev/reporter.apache.org/trunk/README.txt Modified: comdev/reporter.apache.org/trunk/README.txt URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/README.txt?rev=1864607=1864606=1864607=diff == --- comdev/reporter.apache.org/trunk/README.txt (original) +++ comdev/reporter.apache.org/trunk/README.txt Wed Aug 7 09:26:40 2019 @@ -52,6 +52,7 @@ crontab -l -u www-data: (Not currently s 30 00 * * * cd /var/www/reporter.apache.org/scripts && ./python3logger.sh bugzillastats.py 50 00 * * * cd /var/www/reporter.apache.org/scripts && ./python3logger.sh health.py 32 * * * * cd /var/www/reporter.apache.org/scripts && ./python3logger.sh readchecker.py +*/30 * * * * pgrep -f "gunicorn3.*wsgi:app" || (cd /var/www/reporter.apache.org/scripts && gunicorn3 -b 127.0.0.1:8000 -w 6 -D wsgi:app && echo "restarting gunicorn for reporter") # ensure that any new data files get picked up by the commit (which must be done by root) 40 * * * * cd /var/www/reporter.apache.org/scripts && ./svnadd.sh ../data/releases
svn commit: r1864606 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard.js
Author: humbedooh Date: Wed Aug 7 09:05:35 2019 New Revision: 1864606 URL: http://svn.apache.org/viewvc?rev=1864606=rev Log: only show if worth showing Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864606=1864605=1864606=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Wed Aug 7 09:05:35 2019 @@ -308,7 +308,7 @@ function statistics_health(data) { xhtml.inject(new HTML('br')) } else if (hasdevlist) { kibble_mailstats(xhtml, data.kibble.timeseries.devlist, color); -} else if (hasuserlist) { +} else if (hasuserlist && txt.length > 0) { kibble_mailstats(xhtml, data.kibble.timeseries.userlist, color); } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864606=1864605=1864606=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Wed Aug 7 09:05:35 2019 @@ -2407,7 +2407,7 @@ function statistics_health(data) { xhtml.inject(new HTML('br')) } else if (hasdevlist) { kibble_mailstats(xhtml, data.kibble.timeseries.devlist, color); -} else if (hasuserlist) { +} else if (hasuserlist && txt.length > 0) { kibble_mailstats(xhtml, data.kibble.timeseries.userlist, color); }
svn commit: r1864600 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard.js
Author: humbedooh Date: Wed Aug 7 08:25:59 2019 New Revision: 1864600 URL: http://svn.apache.org/viewvc?rev=1864600=rev Log: fix cutoff date Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864600=1864599=1864600=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Wed Aug 7 08:25:59 2019 @@ -147,7 +147,7 @@ function kibble_mailstats(xhtml, timeser cols[2].push(o); cols[3].push(a); } -let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(4); +let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(1); let chartdiv = new HTML('div', { style: { clear: 'both', Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864600=1864599=1864600=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Wed Aug 7 08:25:59 2019 @@ -2246,7 +2246,7 @@ function kibble_mailstats(xhtml, timeser cols[2].push(o); cols[3].push(a); } -let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(4); +let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(1); let chartdiv = new HTML('div', { style: { clear: 'both',
svn commit: r1864592 - /comdev/reporter.apache.org/trunk/scripts/wsgi.py
Author: humbedooh Date: Wed Aug 7 05:36:49 2019 New Revision: 1864592 URL: http://svn.apache.org/viewvc?rev=1864592=rev Log: sort keys as well Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/wsgi.py?rev=1864592=1864591=1864592=diff == --- comdev/reporter.apache.org/trunk/scripts/wsgi.py (original) +++ comdev/reporter.apache.org/trunk/scripts/wsgi.py Wed Aug 7 05:36:49 2019 @@ -59,4 +59,4 @@ def app(environ, start_fn): start_fn('200 OK', [('Content-Type', 'application/json')]) -return [json.dumps(output, indent = 2).encode('ascii')] +return [json.dumps(output, indent = 2, sort_keys = True).encode('ascii')]
svn commit: r1864591 - /comdev/reporter.apache.org/trunk/scripts/wsgi.py
Author: humbedooh Date: Wed Aug 7 05:33:23 2019 New Revision: 1864591 URL: http://svn.apache.org/viewvc?rev=1864591=rev Log: sort these as well Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/wsgi.py?rev=1864591=1864590=1864591=diff == --- comdev/reporter.apache.org/trunk/scripts/wsgi.py (original) +++ comdev/reporter.apache.org/trunk/scripts/wsgi.py Wed Aug 7 05:33:23 2019 @@ -53,7 +53,7 @@ def app(environ, start_fn): ddata, allpmcs, health = pdata.getProjectData() dumps['you'] = committers[user] dumps['all'] = sorted(allpmcs) -dumps['pmcs'] = groups +dumps['pmcs'] = sorted(groups) dumps['pmcsummary'] = pmcSummary output = dumps
svn commit: r1864590 - /comdev/reporter.apache.org/trunk/scripts/wsgi.py
Author: humbedooh Date: Wed Aug 7 05:31:04 2019 New Revision: 1864590 URL: http://svn.apache.org/viewvc?rev=1864590=rev Log: alphasort this Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/wsgi.py?rev=1864590=1864589=1864590=diff == --- comdev/reporter.apache.org/trunk/scripts/wsgi.py (original) +++ comdev/reporter.apache.org/trunk/scripts/wsgi.py Wed Aug 7 05:31:04 2019 @@ -52,7 +52,7 @@ def app(environ, start_fn): if dumps and user: ddata, allpmcs, health = pdata.getProjectData() dumps['you'] = committers[user] -dumps['all'] = allpmcs +dumps['all'] = sorted(allpmcs) dumps['pmcs'] = groups dumps['pmcsummary'] = pmcSummary output = dumps
svn commit: r1864576 - /comdev/reporter.apache.org/trunk/scripts/wsgi.py
Author: humbedooh Date: Tue Aug 6 23:53:24 2019 New Revision: 1864576 URL: http://svn.apache.org/viewvc?rev=1864576=rev Log: break and don't save to cache on failure.. Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/wsgi.py?rev=1864576=1864575=1864576=diff == --- comdev/reporter.apache.org/trunk/scripts/wsgi.py (original) +++ comdev/reporter.apache.org/trunk/scripts/wsgi.py Tue Aug 6 23:53:24 2019 @@ -36,6 +36,8 @@ def app(environ, start_fn): # If cache failed, generate fom scratch else: mpdata = pdata.generate(user, xproject, xproject == project) +if not mpdata: +break open(wanted_file, "w").write(json.dumps(mpdata)) # Weave results into combined object, mindful of kibble data for k, v in mpdata.items():
svn commit: r1864575 - /comdev/reporter.apache.org/trunk/scripts/wsgi.py
Author: humbedooh Date: Tue Aug 6 23:43:15 2019 New Revision: 1864575 URL: http://svn.apache.org/viewvc?rev=1864575=rev Log: need this :o Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/wsgi.py?rev=1864575=1864574=1864575=diff == --- comdev/reporter.apache.org/trunk/scripts/wsgi.py (original) +++ comdev/reporter.apache.org/trunk/scripts/wsgi.py Tue Aug 6 23:43:15 2019 @@ -5,12 +5,14 @@ import json import pdata import time import re +import committee_info CACHE_TIMEOUT = 14400 def app(environ, start_fn): committers = pdata.loadJson(pdata.COMMITTER_INFO)['people'] +pmcSummary = committee_info.PMCsummary() project = environ.get('QUERY_STRING') user = environ.get('HTTP_X_AUTHENTICATED_USER') @@ -50,6 +52,7 @@ def app(environ, start_fn): dumps['you'] = committers[user] dumps['all'] = allpmcs dumps['pmcs'] = groups +dumps['pmcsummary'] = pmcSummary output = dumps start_fn('200 OK', [('Content-Type', 'application/json')])
svn commit: r1864574 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/generators.js source/init.js wizard.js
Author: humbedooh Date: Tue Aug 6 23:39:35 2019 New Revision: 1864574 URL: http://svn.apache.org/viewvc?rev=1864574=rev Log: switch to new quickjson endpoint, see how it fares :) so far so good... Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js comdev/reporter.apache.org/trunk/site/wizard/js/source/init.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js?rev=1864574=1864573=1864574=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js Tue Aug 6 23:39:35 2019 @@ -149,7 +149,7 @@ function generate_meta(data) { function pre_splash(state, json) { cycles = json; -GET("/getjson.py", splash, {}); +GET("/quickjson", splash, {}); } function splash(state, json, all) { Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/init.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/init.js?rev=1864574=1864573=1864574=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/init.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/init.js Tue Aug 6 23:39:35 2019 @@ -44,7 +44,7 @@ function init_wizard(so) { console.log("Initializing escrow checks"); window.setInterval(escrow_check, 250); -GET("/getjson.py?only=%s=true".format(project), prime_wizard, {}); +GET("/quickjson?%s".format(project), prime_wizard, {}); } } document.body.addEventListener('keydown', () => { if (event.keyCode == 27) $("#alert").modal('hide'); }); Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864574=1864573=1864574=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 23:39:35 2019 @@ -1334,7 +1334,7 @@ function generate_meta(data) { function pre_splash(state, json) { cycles = json; -GET("/getjson.py", splash, {}); +GET("/quickjson", splash, {}); } function splash(state, json, all) { @@ -1773,7 +1773,7 @@ function init_wizard(so) { console.log("Initializing escrow checks"); window.setInterval(escrow_check, 250); -GET("/getjson.py?only=%s=true".format(project), prime_wizard, {}); +GET("/quickjson?%s".format(project), prime_wizard, {}); } } document.body.addEventListener('keydown', () => { if (event.keyCode == 27) $("#alert").modal('hide'); });
svn commit: r1864573 - in /comdev/reporter.apache.org/trunk/scripts: pdata.py wsgi.py
Author: humbedooh Date: Tue Aug 6 23:36:00 2019 New Revision: 1864573 URL: http://svn.apache.org/viewvc?rev=1864573=rev Log: bump cache time Modified: comdev/reporter.apache.org/trunk/scripts/pdata.py comdev/reporter.apache.org/trunk/scripts/wsgi.py Modified: comdev/reporter.apache.org/trunk/scripts/pdata.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/pdata.py?rev=1864573=1864572=1864573=diff == --- comdev/reporter.apache.org/trunk/scripts/pdata.py (original) +++ comdev/reporter.apache.org/trunk/scripts/pdata.py Tue Aug 6 23:36:00 2019 @@ -24,7 +24,7 @@ import os, sys, re, json, subprocess, time import base64, requests -CACHE_TIMEOUT = 3600 +CACHE_TIMEOUT = 14400 import committee_info from urlutils import UrlCache Modified: comdev/reporter.apache.org/trunk/scripts/wsgi.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/wsgi.py?rev=1864573=1864572=1864573=diff == --- comdev/reporter.apache.org/trunk/scripts/wsgi.py (original) +++ comdev/reporter.apache.org/trunk/scripts/wsgi.py Tue Aug 6 23:36:00 2019 @@ -6,7 +6,7 @@ import pdata import time import re -CACHE_TIMEOUT = 3600 +CACHE_TIMEOUT = 14400 def app(environ, start_fn):
svn commit: r1864572 - /comdev/reporter.apache.org/trunk/scripts/pdata.py
Author: humbedooh Date: Tue Aug 6 23:30:36 2019 New Revision: 1864572 URL: http://svn.apache.org/viewvc?rev=1864572=rev Log: test for bytestring Modified: comdev/reporter.apache.org/trunk/scripts/pdata.py Modified: comdev/reporter.apache.org/trunk/scripts/pdata.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/pdata.py?rev=1864572=1864571=1864572=diff == --- comdev/reporter.apache.org/trunk/scripts/pdata.py (original) +++ comdev/reporter.apache.org/trunk/scripts/pdata.py Tue Aug 6 23:30:36 2019 @@ -379,6 +379,8 @@ def generate(user, project, runkibble): if jdata and jdata[2]: cmd += tuple(jdata[2]) txt = subprocess.check_output(cmd, env = xenv) +if type(txt) is bytes: +txt = txt.decode('ascii') kibble = json.loads(txt) except subprocess.CalledProcessError as e: return None
svn commit: r1864571 - in /comdev/reporter.apache.org/trunk/scripts: pdata.py wsgi.py
Author: humbedooh Date: Tue Aug 6 23:16:23 2019 New Revision: 1864571 URL: http://svn.apache.org/viewvc?rev=1864571=rev Log: Start work on a WSGI edition of getjson.py, for maximum speed. Added: comdev/reporter.apache.org/trunk/scripts/pdata.py (with props) comdev/reporter.apache.org/trunk/scripts/wsgi.py Added: comdev/reporter.apache.org/trunk/scripts/pdata.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/pdata.py?rev=1864571=auto == --- comdev/reporter.apache.org/trunk/scripts/pdata.py (added) +++ comdev/reporter.apache.org/trunk/scripts/pdata.py Tue Aug 6 23:16:23 2019 @@ -0,0 +1,405 @@ +#!/usr/bin/env python +""" +WSGI script to return data to the reporter.a.o wizard + +It also populates various json files from JIRA if they are stale: +data/JIRA/jira_projects.json - list of all JIRA projects +data/JIRA/%.json - for each JIRA project + +Reads the following: +data/JIRA/jira_projects.json +data/JIRA/%s.json +data/health.json +data/releases/%s.json +data/pmcs.json +data/projects.json +data/mailinglists.json +data/maildata_extended.json +https://whimsy.apache.org/public/member-info.json +https://whimsy.apache.org/public/public_ldap_projects.json +data/cache/checker.json + +""" + +import os, sys, re, json, subprocess, time +import base64, requests + +CACHE_TIMEOUT = 3600 + +import committee_info +from urlutils import UrlCache + +# This script may be called frequently, so don't just rely on IfNewer checks +uc = UrlCache(cachedir='../data/cache', interval=CACHE_TIMEOUT, silent=True) + +# Relative path to home directory from here (site) +RAOHOME_FULL = '/var/www/reporter.apache.org/' +RAOHOME = RAOHOME_FULL + +COMMITTER_INFO = 'https://whimsy.apache.org/public/public_ldap_people.json' +MEMBER_INFO = 'https://whimsy.apache.org/public/member-info.json' +PROJECTS = 'https://whimsy.apache.org/public/public_ldap_projects.json' +DESCRIPTIONS = 'https://projects.apache.org/json/foundation/committees.json' + +jmap = { +'trafficserver': ['TS'], +'cordova': ['CB'], +'corinthia': ['COR'] +} + +pmap = {# convert mailing list name to PMC name +'community': 'comdev', +'ws': 'webservices', +'hc': 'httpcomponents', +'whimsical': 'whimsy', +'empire': 'empire-db' +} + +ldapmap = { +'webservices': 'ws' +} + +jirapass = "" +with open(RAOHOME+"data/jirapass.txt", "r") as f: +jirapass = f.read().strip() +f.close() + +def readJson(filename, *default): +"""Read a JSON file. If the read fails, return the default (if any) otherwise return the exception""" +data = {} +try: +with open(filename, "r") as f: +data = json.load(f) +f.close() +except: +if default == None: +raise +else: +return default[0] # only want first arg +return data + +def loadJson(url): +resp = uc.get(url, name=None, encoding='utf-8', errors=None) +j = json.load(resp) +resp.close() +return j + +projects = loadJson(PROJECTS)['projects'] +members = loadJson(MEMBER_INFO)['members'] +committers = loadJson(COMMITTER_INFO)['people'] +charters = loadJson(DESCRIPTIONS) + +def getPMCs(uid): +"""Returns the array of LDAP committee groups to which the uid belongs. Excludes incubator""" +groups = [] +for group in projects: +if group != "incubator" and 'pmc' in projects[group]: +if uid in projects[group]['owners']: +groups.append(group) +groups = [pmap.get(x, x) for x in groups] +return groups + + +def isASFMember(uid): +"""Determine if the uid is a member of the ASF""" +return uid in members + +def getJIRAProjects(project, tlpid): +"""Reads data/JIRA/jira_projects.json (re-creating it if it is stale) + Returns the list of JIRA projects for the project argument + Assumes that the project names match or the project category matches + (after trimming "Apache " and spaces and lower-casing)""" +project = project.replace("Apache ", "").strip().lower() +refresh = True +x = {} +jiras = [] +try: +mtime = 0 +try: +st=os.stat(RAOHOME+"data/JIRA/jira_projects.json") +mtime=st.st_mtime +except: +pass +if mtime >= (time.time() - 86400): +refresh = False +x = readJson(RAOHOME+"data/JIRA/jira_projects.json") +else: +if sys.version_info >= (3, 0): +base64string = base64.encodestring(('%s:%s' % ('githubbot', jirapass)).enco
svn commit: r1864569 - /comdev/reporter.apache.org/trunk/site/getjson.py
Author: humbedooh Date: Tue Aug 6 21:06:42 2019 New Revision: 1864569 URL: http://svn.apache.org/viewvc?rev=1864569=rev Log: bump lifetime of cache to 6 hours. Modified: comdev/reporter.apache.org/trunk/site/getjson.py Modified: comdev/reporter.apache.org/trunk/site/getjson.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/getjson.py?rev=1864569=1864568=1864569=diff == --- comdev/reporter.apache.org/trunk/site/getjson.py (original) +++ comdev/reporter.apache.org/trunk/site/getjson.py Tue Aug 6 21:06:42 2019 @@ -255,9 +255,9 @@ if re.match(r"^[-a-zA-Z0-9_.]+$", user): groups = [oproject] groups.sort() # so tabs appear in order -# Try cache first? +# Try cache first? (max 6 hours old) wanted_file = "/tmp/%s.json" % "-".join(groups) -if (os.path.exists(wanted_file) and os.path.getmtime(wanted_file) > (time.time() - 7200)): +if (os.path.exists(wanted_file) and os.path.getmtime(wanted_file) > (time.time() - 21600)): dump = json.load(open(wanted_file, "r")) dump['you'] = committers[user] if anon:
svn commit: r1864568 - /comdev/reporter.apache.org/trunk/scripts/committee_info.py
Author: humbedooh Date: Tue Aug 6 21:05:08 2019 New Revision: 1864568 URL: http://svn.apache.org/viewvc?rev=1864568=rev Log: fix comment Modified: comdev/reporter.apache.org/trunk/scripts/committee_info.py Modified: comdev/reporter.apache.org/trunk/scripts/committee_info.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/committee_info.py?rev=1864568=1864567=1864568=diff == --- comdev/reporter.apache.org/trunk/scripts/committee_info.py (original) +++ comdev/reporter.apache.org/trunk/scripts/committee_info.py Tue Aug 6 21:05:08 2019 @@ -15,7 +15,7 @@ from urlutils import UrlCache URL='https://whimsy.apache.org/public/committee-info.json' -# Don't check more often than every minute (used by webapp as well as cronjobs) +# Don't check more often than every hour (used by webapp as well as cronjobs) uc = UrlCache(interval=3600, silent=True) def loadJson(url):
svn commit: r1864567 - /comdev/reporter.apache.org/trunk/scripts/committee_info.py
Author: humbedooh Date: Tue Aug 6 21:03:25 2019 New Revision: 1864567 URL: http://svn.apache.org/viewvc?rev=1864567=rev Log: really no reason to reload committee info every minute, bump to one hour caching Modified: comdev/reporter.apache.org/trunk/scripts/committee_info.py Modified: comdev/reporter.apache.org/trunk/scripts/committee_info.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/committee_info.py?rev=1864567=1864566=1864567=diff == --- comdev/reporter.apache.org/trunk/scripts/committee_info.py (original) +++ comdev/reporter.apache.org/trunk/scripts/committee_info.py Tue Aug 6 21:03:25 2019 @@ -16,7 +16,7 @@ URL='https://whimsy.apache.org/public/co # Don't check more often than every minute (used by webapp as well as cronjobs) -uc = UrlCache(interval=60, silent=True) +uc = UrlCache(interval=3600, silent=True) def loadJson(url): resp = uc.get(url, name=None, encoding='utf-8', errors=None)
svn commit: r1864566 - /comdev/reporter.apache.org/trunk/site/getjson.py
Author: humbedooh Date: Tue Aug 6 21:02:23 2019 New Revision: 1864566 URL: http://svn.apache.org/viewvc?rev=1864566=rev Log: punt this till after cache test - if we don't need it, no sense in loading it Modified: comdev/reporter.apache.org/trunk/site/getjson.py Modified: comdev/reporter.apache.org/trunk/site/getjson.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/getjson.py?rev=1864566=1864565=1864566=diff == --- comdev/reporter.apache.org/trunk/site/getjson.py (original) +++ comdev/reporter.apache.org/trunk/site/getjson.py Tue Aug 6 21:02:23 2019 @@ -246,11 +246,6 @@ def getReleaseData(project): if re.match(r"^[-a-zA-Z0-9_.]+$", user): -pmcSummary = committee_info.PMCsummary() -dataHealth = readJson(RAOHOME+"data/health.json", []) -pchanges = readJson(RAOHOME+"data/pmcs.json") -cchanges = readJson(RAOHOME+"data/projects.json") -bugzillastats = readJson(RAOHOME+"data/bugzillastats.json", {}) isMember = isMember(user) groups = getPMCs(user) @@ -271,6 +266,12 @@ if re.match(r"^[-a-zA-Z0-9_.]+$", user): sys.stdout.write("Content-Type: application/json\r\nContent-Length: %u\r\n\r\n" % (len(dump))) sys.stdout.write(dump) sys.exit(0) + +pmcSummary = committee_info.PMCsummary() +dataHealth = readJson(RAOHOME+"data/health.json", []) +pchanges = readJson(RAOHOME+"data/pmcs.json") +cchanges = readJson(RAOHOME+"data/projects.json") +bugzillastats = readJson(RAOHOME+"data/bugzillastats.json", {}) mlstats = {} ml = readJson(RAOHOME+"data/mailinglists.json")
svn commit: r1864565 - /comdev/reporter.apache.org/trunk/site/getjson.py
Author: humbedooh Date: Tue Aug 6 20:52:30 2019 New Revision: 1864565 URL: http://svn.apache.org/viewvc?rev=1864565=rev Log: if we don't run kibble when user only has one project, we ruin the cache, so let's run it... Modified: comdev/reporter.apache.org/trunk/site/getjson.py Modified: comdev/reporter.apache.org/trunk/site/getjson.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/getjson.py?rev=1864565=1864564=1864565=diff == --- comdev/reporter.apache.org/trunk/site/getjson.py (original) +++ comdev/reporter.apache.org/trunk/site/getjson.py Tue Aug 6 20:52:30 2019 @@ -384,9 +384,11 @@ if re.match(r"^[-a-zA-Z0-9_.]+$", user): if anon: mlstats = {} -# Add in kibble data if called with only= ... +# Add in kibble data if called with only= OR only one project... kibble = None -if oproject: +if oproject or len(groups) == 1: +if not oproject: +oproject = groups[0] try: xenv = os.environ.copy() del xenv['SCRIPT_NAME'] @@ -398,6 +400,7 @@ if re.match(r"^[-a-zA-Z0-9_.]+$", user): except subprocess.CalledProcessError as e: sys.stderr.write("Kibble runtime error:") sys.stderr.write(e.output) + output = { 'count': count,
svn commit: r1864556 - in /comdev/reporter.apache.org/trunk/site/wizard: css/wizard.css js/source/statistics.js js/wizard.js
Author: humbedooh Date: Tue Aug 6 19:24:42 2019 New Revision: 1864556 URL: http://svn.apache.org/viewvc?rev=1864556=rev Log: fix height issues with editor vs stats page Modified: comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css?rev=1864556=1864555=1864556=diff == --- comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css (original) +++ comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css Tue Aug 6 19:24:42 2019 @@ -1,4 +1,4 @@ -html, body { min-height: 100%; width: 100%; margin: 0;} +html, body { min-height: 100%; height: 100%; width: 100%; margin: 0;} body { font-family: SelawikRegular, sans-serif; Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics.js?rev=1864556=1864555=1864556=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics.js Tue Aug 6 19:24:42 2019 @@ -2,6 +2,7 @@ function StatisticsPage(layout, pdata) { let wrapper = document.getElementById('wrapper'); wrapper.style.padding = '8px'; +wrapper.style.height = 'auto'; wrapper.innerHTML = ""; for (var i = 0; i < layout.length; i++) { let step = layout[i]; Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864556=1864555=1864556=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 19:24:42 2019 @@ -2985,6 +2985,7 @@ function statistics_releases(data) { function StatisticsPage(layout, pdata) { let wrapper = document.getElementById('wrapper'); wrapper.style.padding = '8px'; +wrapper.style.height = 'auto'; wrapper.innerHTML = ""; for (var i = 0; i < layout.length; i++) { let step = layout[i];
svn commit: r1864547 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 17:06:26 2019 New Revision: 1864547 URL: http://svn.apache.org/viewvc?rev=1864547=rev Log: show 27 weeks, border on safe in assuming that people are viewing stats right before or during a board meeting. Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864547=1864546=1864547=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 17:06:26 2019 @@ -167,7 +167,7 @@ function statistics_health(data) { ['x'], [ml] ]; -for (var i = 0; i < 26; i++) { +for (var i = 0; i < 27; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(4); cols[0].push(date); cols[1].push(mldata.weekly[date.unix()] || 0); @@ -282,7 +282,7 @@ function statistics_health(data) { ['Tickets opened'], ['Tickets closed'] ]; -for (var i = 0; i < 26; i++) { +for (var i = 0; i < 27; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(1); let c = 0; let o = 0; @@ -397,7 +397,7 @@ function statistics_health(data) { ['x'], ['Commits'] ]; -for (var i = 0; i < 26; i++) { +for (var i = 0; i < 27; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(1); let c = 0; for (var n = 0; n < data.kibble.timeseries.commits.length; n++) { @@ -518,7 +518,7 @@ function statistics_health(data) { ['PRs opened'], ['PRs closed'] ]; -for (var i = 0; i < 26; i++) { +for (var i = 0; i < 27; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(1); let c = 0; let o = 0; @@ -646,7 +646,7 @@ function statistics_health(data) { ['issues opened'], ['issues closed'] ]; -for (var i = 0; i < 26; i++) { +for (var i = 0; i < 27; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(1); let c = 0; let o = 0; Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864547=1864546=1864547=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 17:06:26 2019 @@ -2266,7 +2266,7 @@ function statistics_health(data) { ['x'], [ml] ]; -for (var i = 0; i < 26; i++) { +for (var i = 0; i < 27; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(4); cols[0].push(date); cols[1].push(mldata.weekly[date.unix()] || 0); @@ -2381,7 +2381,7 @@ function statistics_health(data) { ['Tickets opened'], ['Tickets closed'] ]; -for (var i = 0; i < 26; i++) { +for (var i = 0; i < 27; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(1); let c = 0; let o = 0; @@ -2496,7 +2496,7 @@ function statistics_health(data) { ['x'], ['Commits'] ]; -for (var i = 0; i < 26; i++) { +for (var i = 0; i < 27; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(1); let c = 0; for (var n = 0; n < data.kibble.timeseries.commits.length; n++) { @@ -2617,7 +2617,7 @@ function statistics_health(data) { ['PRs opened'], ['PRs closed'] ]; -for (var i = 0; i < 26; i++) { +for (var i = 0; i < 27; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(1); let c = 0; let o = 0; @@ -2745,7 +2745,7 @@ function statistics_health(data) {
svn commit: r1864546 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/generators.js source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 16:57:50 2019 New Revision: 1864546 URL: http://svn.apache.org/viewvc?rev=1864546=rev Log: add in joan's suggestions on always showing dev@ lists activity Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js?rev=1864546=1864545=1864546=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js Tue Aug 6 16:57:50 2019 @@ -216,10 +216,10 @@ function health_tips(data) { if (isNaN(pct_change) || !isFinite(pct_change)) { pct_change_txt = 'big'; } -if (pct_change > 25 && mldata.quarterly[0] > 5) { +if ((pct_change > 25 && mldata.quarterly[0] > 5) || (pct_change > 0 && a[2] == 'dev')) { txt += "%s had a %s increase in traffic in the past quarter (%u emails compared to %u)".format(ml, pct_change_txt, mldata.quarterly[0], mldata.quarterly[1]); } -else if (pct_change < -25 && mldata.quarterly[1] > 5) { +if ((pct_change < -25 && mldata.quarterly[1] > 5) || (pct_change <= 0 && a[2] == 'dev')) { txt += "%s had a %s decrease in traffic in the past quarter (%u emails compared to %u)".format(ml, pct_change_txt, mldata.quarterly[0], mldata.quarterly[1]); } } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864546=1864545=1864546=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 16:57:50 2019 @@ -153,9 +153,9 @@ function statistics_health(data) { if (isNaN(pct_change) || !isFinite(pct_change)) { pct_change_txt = 'big'; } -if (pct_change >= 0 && mldata.quarterly[0] > 10) { +if (pct_change >= 0 && (mldata.quarterly[0] > 10 || a[2] == 'dev')) { txt += "%s had a %s increase in traffic in the past quarter (%u emails compared to %u):".format(ml, pct_change_txt, mldata.quarterly[0], mldata.quarterly[1]); -} else if (pct_change < 0 && mldata.quarterly[1] > 10) { +} else if (pct_change < 0 && (mldata.quarterly[1] > 10 || a[2] == 'dev')) { txt += "%s had a %s decrease in traffic in the past quarter (%u emails compared to %u):".format(ml, pct_change_txt, mldata.quarterly[0], mldata.quarterly[1]); } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864546=1864545=1864546=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 16:57:50 2019 @@ -1401,10 +1401,10 @@ function health_tips(data) { if (isNaN(pct_change) || !isFinite(pct_change)) { pct_change_txt = 'big'; } -if (pct_change > 25 && mldata.quarterly[0] > 5) { +if ((pct_change > 25 && mldata.quarterly[0] > 5) || (pct_change > 0 && a[2] == 'dev')) { txt += "%s had a %s increase in traffic in the past quarter (%u emails compared to %u)".format(ml, pct_change_txt, mldata.quarterly[0], mldata.quarterly[1]); } -else if (pct_change < -25 && mldata.quarterly[1] > 5) { +if ((pct_change < -25 && mldata.quarterly[1] > 5) || (pct_change <= 0 && a[2] == 'dev')) { txt += "%s had a %s decrease in traffic in the past quarter (%u emails compared to %u)".format(ml, pct_change_txt, mldata.quarterly[0], mldata.quarterly[1]); } } @@ -2252,9 +2252,9 @@ function statistics_health(data) { if (isNaN(pct_change) || !isFinite(pct_change)) { pct_change_txt = 'big'; } -if (pct_change >= 0 && mldata.quarterly[0] > 10) { +if (pct_change >= 0 && (mldata.quarterly[0] > 10 || a[2] == 'dev')) {
svn commit: r1864545 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 16:53:19 2019 New Revision: 1864545 URL: http://svn.apache.org/viewvc?rev=1864545=rev Log: tweak some words and weed out data that has no importance for a project (aka no data) Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864545=1864544=1864545=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 16:53:19 2019 @@ -229,7 +229,7 @@ function statistics_health(data) { if (bz[0] || bz[1]) txt += "%u BugZilla tickets opened and %u closed in the past quarter.".format(bz[0], bz[1]); // JIRA changes -if (data.kibble.jira) { +if (data.kibble.timeseries.jira.length > 0) { let xhtml = new HTML('div', { style: { position: 'relative', @@ -462,7 +462,7 @@ function statistics_health(data) { // GitHub: PRs -if (data.kibble && data.kibble.prs) { +if (data.kibble.timeseries.github.length > 0) { let xhtml = new HTML('div', { style: { @@ -471,7 +471,7 @@ function statistics_health(data) { } }); html.inject(xhtml); -let txt = "GitHub activity:"; +let txt = "GitHub PR activity:"; let color = 'black'; let ctxt = data.kibble.prs.change.opened @@ -590,7 +590,7 @@ function statistics_health(data) { // GitHub: issues -if (data.kibble && data.kibble.issues) { +if (data.kibble.timeseries.github.length > 0 && !(data.kibble.issues.after.opened == 0 && data.kibble.issues.before.opened == 0) ) { let xhtml = new HTML('div', { style: { Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864545=1864544=1864545=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 16:53:19 2019 @@ -2328,7 +2328,7 @@ function statistics_health(data) { if (bz[0] || bz[1]) txt += "%u BugZilla tickets opened and %u closed in the past quarter.".format(bz[0], bz[1]); // JIRA changes -if (data.kibble.jira) { +if (data.kibble.timeseries.jira.length > 0) { let xhtml = new HTML('div', { style: { position: 'relative', @@ -2561,7 +2561,7 @@ function statistics_health(data) { // GitHub: PRs -if (data.kibble && data.kibble.prs) { +if (data.kibble.timeseries.github.length > 0) { let xhtml = new HTML('div', { style: { @@ -2570,7 +2570,7 @@ function statistics_health(data) { } }); html.inject(xhtml); -let txt = "GitHub activity:"; +let txt = "GitHub PR activity:"; let color = 'black'; let ctxt = data.kibble.prs.change.opened @@ -2689,7 +2689,7 @@ function statistics_health(data) { // GitHub: issues -if (data.kibble && data.kibble.issues) { +if (data.kibble.timeseries.github.length > 0 && !(data.kibble.issues.after.opened == 0 && data.kibble.issues.before.opened == 0) ) { let xhtml = new HTML('div', { style: {
svn commit: r1864543 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 16:45:41 2019 New Revision: 1864543 URL: http://svn.apache.org/viewvc?rev=1864543=rev Log: Relax requirements to showing lists on stats page, as per janhoy's suggestion. Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864543=1864542=1864543=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 16:45:41 2019 @@ -153,9 +153,9 @@ function statistics_health(data) { if (isNaN(pct_change) || !isFinite(pct_change)) { pct_change_txt = 'big'; } -if (pct_change > 25 && mldata.quarterly[0] > 5) { +if (pct_change >= 0 && mldata.quarterly[0] > 10) { txt += "%s had a %s increase in traffic in the past quarter (%u emails compared to %u):".format(ml, pct_change_txt, mldata.quarterly[0], mldata.quarterly[1]); -} else if (pct_change < -25 && mldata.quarterly[1] > 5) { +} else if (pct_change < 0 && mldata.quarterly[1] > 10) { txt += "%s had a %s decrease in traffic in the past quarter (%u emails compared to %u):".format(ml, pct_change_txt, mldata.quarterly[0], mldata.quarterly[1]); } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864543=1864542=1864543=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 16:45:41 2019 @@ -2252,9 +2252,9 @@ function statistics_health(data) { if (isNaN(pct_change) || !isFinite(pct_change)) { pct_change_txt = 'big'; } -if (pct_change > 25 && mldata.quarterly[0] > 5) { +if (pct_change >= 0 && mldata.quarterly[0] > 10) { txt += "%s had a %s increase in traffic in the past quarter (%u emails compared to %u):".format(ml, pct_change_txt, mldata.quarterly[0], mldata.quarterly[1]); -} else if (pct_change < -25 && mldata.quarterly[1] > 5) { +} else if (pct_change < 0 && mldata.quarterly[1] > 10) { txt += "%s had a %s decrease in traffic in the past quarter (%u emails compared to %u):".format(ml, pct_change_txt, mldata.quarterly[0], mldata.quarterly[1]); }
svn commit: r1864525 - /comdev/reporter.apache.org/trunk/site/wizard/kibble.py
Author: humbedooh Date: Tue Aug 6 15:41:13 2019 New Revision: 1864525 URL: http://svn.apache.org/viewvc?rev=1864525=rev Log: make sure we have a file, can read it, and can load it, otherwise regenerate Modified: comdev/reporter.apache.org/trunk/site/wizard/kibble.py Modified: comdev/reporter.apache.org/trunk/site/wizard/kibble.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/kibble.py?rev=1864525=1864524=1864525=diff == --- comdev/reporter.apache.org/trunk/site/wizard/kibble.py (original) +++ comdev/reporter.apache.org/trunk/site/wizard/kibble.py Tue Aug 6 15:41:13 2019 @@ -28,9 +28,16 @@ def main(): if not re.match(r"^[-_.a-z0-9]+$", project): project = "bogus" cache_file = '/tmp/kibble-cache-%s.json' % project +runit = True if (os.path.exists(cache_file) and os.path.getmtime(cache_file) > (time.time() - 86400)): output = open(cache_file, "r").read() -else: +try: +js = json.loads(output) +assert('prs' in js) +runit = False +except: +pass +if runit: # Issues/PRs issues = requests.post('https://demo.kibble.apache.org/api/issue/issues', headers = {
svn commit: r1864523 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/generators.js source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 15:33:02 2019 New Revision: 1864523 URL: http://svn.apache.org/viewvc?rev=1864523=rev Log: sort numerically Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js?rev=1864523=1864522=1864523=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js Tue Aug 6 15:33:02 2019 @@ -474,7 +474,7 @@ function activity_tips(data) { } ages.push(reldate.unix()); } -ages.sort().reverse(); +ages.sort((a,b) => b-a); ages = ages.splice(0,new_releases >= 3 ? new_releases : 3); let to_show = ages.length; let releases_shown = 0; Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864523=1864522=1864523=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 15:33:02 2019 @@ -848,7 +848,7 @@ function statistics_releases(data) { } ages.push(reldate.unix()); } -ages.sort().reverse(); +ages.sort((a,b) => b-a); ages = ages.splice(0, new_releases >= 3 ? new_releases : 3); let to_show = ages.length; let releases_shown = 0; Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864523=1864522=1864523=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 15:33:02 2019 @@ -1659,7 +1659,7 @@ function activity_tips(data) { } ages.push(reldate.unix()); } -ages.sort().reverse(); +ages.sort((a,b) => b-a); ages = ages.splice(0,new_releases >= 3 ? new_releases : 3); let to_show = ages.length; let releases_shown = 0; @@ -2947,7 +2947,7 @@ function statistics_releases(data) { } ages.push(reldate.unix()); } -ages.sort().reverse(); +ages.sort((a,b) => b-a); ages = ages.splice(0, new_releases >= 3 ? new_releases : 3); let to_show = ages.length; let releases_shown = 0;
svn commit: r1864522 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 14:56:52 2019 New Revision: 1864522 URL: http://svn.apache.org/viewvc?rev=1864522=rev Log: quarters have 13 weeks Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864522=1864521=1864522=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 14:56:52 2019 @@ -167,12 +167,12 @@ function statistics_health(data) { ['x'], [ml] ]; -for (var i = 0; i < 24; i++) { +for (var i = 0; i < 26; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(4); cols[0].push(date); cols[1].push(mldata.weekly[date.unix()] || 0); } -let cutoff = moment.utc().subtract(12, 'weeks').startOf('week').weekday(4); +let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(4); let chartdiv = new HTML('div', { style: { clear: 'both', @@ -191,7 +191,7 @@ function statistics_health(data) { x: { type: 'timeseries', tick: { -count: 12, +count: 13, format: (x) => { return moment(x).format('MMM D, '); } @@ -203,7 +203,7 @@ function statistics_health(data) { type: 'bar', columns: cols, color: (color, d) => { -return d.index < 12 ? '#9639' : (pct_change < 0 ? '#900' : '#090'); +return d.index < 13 ? '#9639' : (pct_change < 0 ? '#900' : '#090'); } }, bar: { @@ -282,7 +282,7 @@ function statistics_health(data) { ['Tickets opened'], ['Tickets closed'] ]; -for (var i = 0; i < 24; i++) { +for (var i = 0; i < 26; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(1); let c = 0; let o = 0; @@ -297,7 +297,7 @@ function statistics_health(data) { cols[1].push(c); cols[2].push(o); } -let cutoff = moment.utc().subtract(12, 'weeks').startOf('week').weekday(4); +let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(4); let chartdiv = new HTML('div', { style: { clear: 'both', @@ -316,7 +316,7 @@ function statistics_health(data) { x: { type: 'timeseries', tick: { -count: 12, +count: 13, format: (x) => { return moment(x).format('MMM D, '); } @@ -328,7 +328,7 @@ function statistics_health(data) { type: 'bar', columns: cols, color: (color, d) => { -return (d.index < 12 ? color + '44': color +'FF'); +return (d.index < 13 ? color + '44': color +'FF'); } }, bar: { @@ -397,7 +397,7 @@ function statistics_health(data) { ['x'], ['Commits'] ]; -for (var i = 0; i < 24; i++) { +for (var i = 0; i < 26; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(1); let c = 0; for (var n = 0; n < data.kibble.timeseries.commits.length; n++) { @@ -409,7 +409,7 @@ function statistics_health(data) { cols[0].push(date); cols[1].push(c); } -let cutoff = moment.utc().subtract(12, 'weeks').startOf('week').weekday(4); +let cutoff = moment.utc().subtract(13, 'weeks').startOf('week').weekday(4); let chartdiv = new HTML('div', { style: { clear: 'both', @@ -428,7 +428,7 @@ function statistics_health(data) { x: { type: 'timeseries',
svn commit: r1864520 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 13:12:56 2019 New Revision: 1864520 URL: http://svn.apache.org/viewvc?rev=1864520=rev Log: fix legend name for MLs Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864520=1864519=1864520=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 13:12:56 2019 @@ -165,7 +165,7 @@ function statistics_health(data) { if (txt.length > 0) { let cols = [ ['x'], -['%s@'.format(a[1])] +[ml] ]; for (var i = 0; i < 24; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(4); Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864520=1864519=1864520=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 13:12:56 2019 @@ -2264,7 +2264,7 @@ function statistics_health(data) { if (txt.length > 0) { let cols = [ ['x'], -['%s@'.format(a[1])] +[ml] ]; for (var i = 0; i < 24; i++) { let date = moment.utc().subtract(i, 'weeks').startOf('week').weekday(4);
svn commit: r1864512 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 11:48:55 2019 New Revision: 1864512 URL: http://svn.apache.org/viewvc?rev=1864512=rev Log: force English locale (thus week starts sunday) Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864512=1864511=1864512=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 11:48:55 2019 @@ -1,3 +1,5 @@ +moment.locale('en'); + function statistics_roster(pdata) { // PMC age let founded = moment((pdata.pmcdates[project].pmc[2] || pdata.pmcdates[project].pmc[1]) * 1000.0); Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864512=1864511=1864512=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 11:48:55 2019 @@ -2097,6 +2097,8 @@ function toggleView(id) { Fetched from source/statistics_generator.js **/ +moment.locale('en'); + function statistics_roster(pdata) { // PMC age let founded = moment((pdata.pmcdates[project].pmc[2] || pdata.pmcdates[project].pmc[1]) * 1000.0);
svn commit: r1864506 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/generators.js wizard.js
Author: humbedooh Date: Tue Aug 6 10:58:14 2019 New Revision: 1864506 URL: http://svn.apache.org/viewvc?rev=1864506=rev Log: add a button to open full metrics page in new tab Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js?rev=1864506=1864505=1864506=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js Tue Aug 6 10:58:14 2019 @@ -444,6 +444,7 @@ function health_tips(data) { // Append header IF there is data, otherwise nah. if (txt.length > 0) { + txt = "See full metrics (new tab)".format(project) + txt; txt = "Potentially useful observations on community health:" + txt + ""; txt += "PLEASE DON'T COPY THESE METRICS INTO THE REPORT ALONE!While these metrics might offer insights into the wellbeing of the project, what the board of directors wants to see is the story behind these metrics.Please take some time to explain why these metrics are the way they are, and what this means for the project. If you are unsure how to do this, please take a look at some of the examples provided above (click the button!)."; } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864506=1864505=1864506=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 10:58:14 2019 @@ -1629,6 +1629,7 @@ function health_tips(data) { // Append header IF there is data, otherwise nah. if (txt.length > 0) { + txt = "See full metrics (new tab)".format(project) + txt; txt = "Potentially useful observations on community health:" + txt + ""; txt += "PLEASE DON'T COPY THESE METRICS INTO THE REPORT ALONE!While these metrics might offer insights into the wellbeing of the project, what the board of directors wants to see is the story behind these metrics.Please take some time to explain why these metrics are the way they are, and what this means for the project. If you are unsure how to do this, please take a look at some of the examples provided above (click the button!)."; }
svn commit: r1864505 - /comdev/reporter.apache.org/trunk/site/getjson.py
Author: humbedooh Date: Tue Aug 6 10:51:44 2019 New Revision: 1864505 URL: http://svn.apache.org/viewvc?rev=1864505=rev Log: use fixer on tlp names as well Modified: comdev/reporter.apache.org/trunk/site/getjson.py Modified: comdev/reporter.apache.org/trunk/site/getjson.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/getjson.py?rev=1864505=1864504=1864505=diff == --- comdev/reporter.apache.org/trunk/site/getjson.py (original) +++ comdev/reporter.apache.org/trunk/site/getjson.py Tue Aug 6 10:51:44 2019 @@ -159,10 +159,10 @@ def getJIRAProjects(project, tlpid): # Check if this is actually a TLP not ours mayuse = True for xtlp in charters: -if xtlp['name'] == fixProjectCategory(entry['name']) and xtlp['id'] != tlpid: +if fixProjectCategory(xtlp['name']) == fixProjectCategory(entry['name']) and xtlp['id'] != tlpid: mayuse = False break -elif xtlp['name'] == fixProjectCategory(entry['name']) and xtlp['id'] == tlpid: +elif fixProjectCategory(xtlp['name']) == fixProjectCategory(entry['name']) and xtlp['id'] == tlpid: jiras.append(entry['key']) mayuse = False break
svn commit: r1864504 - /comdev/reporter.apache.org/trunk/site/getjson.py
Author: humbedooh Date: Tue Aug 6 10:51:08 2019 New Revision: 1864504 URL: http://svn.apache.org/viewvc?rev=1864504=rev Log: use sebb's category fixer on the project names Modified: comdev/reporter.apache.org/trunk/site/getjson.py Modified: comdev/reporter.apache.org/trunk/site/getjson.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/getjson.py?rev=1864504=1864503=1864504=diff == --- comdev/reporter.apache.org/trunk/site/getjson.py (original) +++ comdev/reporter.apache.org/trunk/site/getjson.py Tue Aug 6 10:51:08 2019 @@ -159,10 +159,10 @@ def getJIRAProjects(project, tlpid): # Check if this is actually a TLP not ours mayuse = True for xtlp in charters: -if xtlp['name'] == entry['name'] and xtlp['id'] != tlpid: +if xtlp['name'] == fixProjectCategory(entry['name']) and xtlp['id'] != tlpid: mayuse = False break -elif xtlp['name'] == entry['name'] and xtlp['id'] == tlpid: +elif xtlp['name'] == fixProjectCategory(entry['name']) and xtlp['id'] == tlpid: jiras.append(entry['key']) mayuse = False break
svn commit: r1864503 - /comdev/reporter.apache.org/trunk/site/getjson.py
Author: humbedooh Date: Tue Aug 6 10:47:22 2019 New Revision: 1864503 URL: http://svn.apache.org/viewvc?rev=1864503=rev Log: no need to include later if we got it here Modified: comdev/reporter.apache.org/trunk/site/getjson.py Modified: comdev/reporter.apache.org/trunk/site/getjson.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/getjson.py?rev=1864503=1864502=1864503=diff == --- comdev/reporter.apache.org/trunk/site/getjson.py (original) +++ comdev/reporter.apache.org/trunk/site/getjson.py Tue Aug 6 10:47:22 2019 @@ -164,6 +164,7 @@ def getJIRAProjects(project, tlpid): break elif xtlp['name'] == entry['name'] and xtlp['id'] == tlpid: jiras.append(entry['key']) +mayuse = False break if mayuse and 'projectCategory' in entry and fixProjectCategory(entry['projectCategory']['name']) == project: jiras.append(entry['key'])
svn commit: r1864501 - /comdev/reporter.apache.org/trunk/site/getjson.py
Author: humbedooh Date: Tue Aug 6 10:41:01 2019 New Revision: 1864501 URL: http://svn.apache.org/viewvc?rev=1864501=rev Log: pass along tlp ID and use Modified: comdev/reporter.apache.org/trunk/site/getjson.py Modified: comdev/reporter.apache.org/trunk/site/getjson.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/getjson.py?rev=1864501=1864500=1864501=diff == --- comdev/reporter.apache.org/trunk/site/getjson.py (original) +++ comdev/reporter.apache.org/trunk/site/getjson.py Tue Aug 6 10:41:01 2019 @@ -121,7 +121,7 @@ def isMember(uid): """Determine if the uid is a member of the ASF""" return uid in members -def getJIRAProjects(project): +def getJIRAProjects(project, tlpid): """Reads data/JIRA/jira_projects.json (re-creating it if it is stale) Returns the list of JIRA projects for the project argument Assumes that the project names match or the project category matches @@ -159,10 +159,10 @@ def getJIRAProjects(project): # Check if this is actually a TLP not ours mayuse = True for xtlp in charters: -if xtlp['name'] == entry['name'] and xtlp['id'] != project: +if xtlp['name'] == entry['name'] and xtlp['id'] != tlpid: mayuse = False break -elif xtlp['name'] == entry['name'] and xtlp['id'] == project: +elif xtlp['name'] == entry['name'] and xtlp['id'] == tlpid: jiras.append(entry['key']) break if mayuse and 'projectCategory' in entry and fixProjectCategory(entry['projectCategory']['name']) == project: @@ -344,7 +344,7 @@ if re.match(r"^[-a-zA-Z0-9_.]+$", user): jdata[group][2].append(p) keys[group].append(jiraname) elif group in ddata and 'name' in ddata[group]: -jiras = getJIRAProjects(ddata[group]['name']) +jiras = getJIRAProjects(ddata[group]['name'], group) keys[group] = jiras jdata[group][2] = [] for jiraname in jiras:
svn commit: r1864500 - /comdev/reporter.apache.org/trunk/site/getjson.py
Author: humbedooh Date: Tue Aug 6 10:37:28 2019 New Revision: 1864500 URL: http://svn.apache.org/viewvc?rev=1864500=rev Log: sometimes another TLP has our TLP as category, but that doesn't mean it's our JIRA. So check if it belongs elsewhere, and only append to our list if not. Modified: comdev/reporter.apache.org/trunk/site/getjson.py Modified: comdev/reporter.apache.org/trunk/site/getjson.py URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/getjson.py?rev=1864500=1864499=1864500=diff == --- comdev/reporter.apache.org/trunk/site/getjson.py (original) +++ comdev/reporter.apache.org/trunk/site/getjson.py Tue Aug 6 10:37:28 2019 @@ -156,9 +156,16 @@ def getJIRAProjects(project): pass for entry in x: -if entry['name'].replace("Apache ", "").strip().lower() == project: -jiras.append(entry['key']) -elif 'projectCategory' in entry and fixProjectCategory(entry['projectCategory']['name']) == project: +# Check if this is actually a TLP not ours +mayuse = True +for xtlp in charters: +if xtlp['name'] == entry['name'] and xtlp['id'] != project: +mayuse = False +break +elif xtlp['name'] == entry['name'] and xtlp['id'] == project: +jiras.append(entry['key']) +break +if mayuse and 'projectCategory' in entry and fixProjectCategory(entry['projectCategory']['name']) == project: jiras.append(entry['key']) return jiras
svn commit: r1864494 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/generators.js source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 10:20:18 2019 New Revision: 1864494 URL: http://svn.apache.org/viewvc?rev=1864494=rev Log: fix ignores Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js?rev=1864494=1864493=1864494=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js Tue Aug 6 10:20:18 2019 @@ -208,7 +208,7 @@ function health_tips(data) { let mldata = data.delivery[project][ml]; let a = ml.match(/([^-]+)-(.+)/); ml = "%s@%s.apache.org".format(a[2], a[1]); -if (a[1].match(/commits|cvs|announce/)) { // we already count commits, so... +if (a[2].match(/commits|cvs|announce/)) { // we already count commits, so... continue; } let pct_change =Math.floor( 100 * ( (mldata.quarterly[0] - mldata.quarterly[1]) / (mldata.quarterly[1]*1.0) )); Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864494=1864493=1864494=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 10:20:18 2019 @@ -142,7 +142,7 @@ function statistics_health(data) { let mldata = data.delivery[project][ml]; let a = ml.match(/([^-]+)-(.+)/); ml = "%s@%s.apache.org".format(a[2], a[1]); -if (a[1].match(/commits|cvs|announce/)) { // we already count commits, so... +if (a[2].match(/commits|cvs|announce/)) { // we already count commits, so... continue; } txt = ""; Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864494=1864493=1864494=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 10:20:18 2019 @@ -1393,7 +1393,7 @@ function health_tips(data) { let mldata = data.delivery[project][ml]; let a = ml.match(/([^-]+)-(.+)/); ml = "%s@%s.apache.org".format(a[2], a[1]); -if (a[1].match(/commits|cvs|announce/)) { // we already count commits, so... +if (a[2].match(/commits|cvs|announce/)) { // we already count commits, so... continue; } let pct_change =Math.floor( 100 * ( (mldata.quarterly[0] - mldata.quarterly[1]) / (mldata.quarterly[1]*1.0) )); @@ -2240,7 +2240,7 @@ function statistics_health(data) { let mldata = data.delivery[project][ml]; let a = ml.match(/([^-]+)-(.+)/); ml = "%s@%s.apache.org".format(a[2], a[1]); -if (a[1].match(/commits|cvs|announce/)) { // we already count commits, so... +if (a[2].match(/commits|cvs|announce/)) { // we already count commits, so... continue; } txt = "";
svn commit: r1864493 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/generators.js source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 10:19:39 2019 New Revision: 1864493 URL: http://svn.apache.org/viewvc?rev=1864493=rev Log: use regex Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js?rev=1864493=1864492=1864493=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js Tue Aug 6 10:19:39 2019 @@ -206,8 +206,8 @@ function health_tips(data) { // Mailing list changes for (var ml in data.delivery[project]) { let mldata = data.delivery[project][ml]; -let a = ml.split('-', 1); -ml = "%s@%s.apache.org".format(a[1], a[0]); +let a = ml.match(/([^-]+)-(.+)/); +ml = "%s@%s.apache.org".format(a[2], a[1]); if (a[1].match(/commits|cvs|announce/)) { // we already count commits, so... continue; } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864493=1864492=1864493=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 10:19:39 2019 @@ -140,8 +140,8 @@ function statistics_health(data) { } }); let mldata = data.delivery[project][ml]; -let a = ml.split('-', 1); -ml = "%s@%s.apache.org".format(a[1], a[0]); +let a = ml.match(/([^-]+)-(.+)/); +ml = "%s@%s.apache.org".format(a[2], a[1]); if (a[1].match(/commits|cvs|announce/)) { // we already count commits, so... continue; } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864493=1864492=1864493=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 10:19:39 2019 @@ -1391,8 +1391,8 @@ function health_tips(data) { // Mailing list changes for (var ml in data.delivery[project]) { let mldata = data.delivery[project][ml]; -let a = ml.split('-', 1); -ml = "%s@%s.apache.org".format(a[1], a[0]); +let a = ml.match(/([^-]+)-(.+)/); +ml = "%s@%s.apache.org".format(a[2], a[1]); if (a[1].match(/commits|cvs|announce/)) { // we already count commits, so... continue; } @@ -2238,8 +2238,8 @@ function statistics_health(data) { } }); let mldata = data.delivery[project][ml]; -let a = ml.split('-', 1); -ml = "%s@%s.apache.org".format(a[1], a[0]); +let a = ml.match(/([^-]+)-(.+)/); +ml = "%s@%s.apache.org".format(a[2], a[1]); if (a[1].match(/commits|cvs|announce/)) { // we already count commits, so... continue; }
svn commit: r1864488 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 09:57:37 2019 New Revision: 1864488 URL: http://svn.apache.org/viewvc?rev=1864488=rev Log: blah, work around Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864488=1864487=1864488=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 09:57:37 2019 @@ -128,7 +128,8 @@ function statistics_health(data) { }); html.inject(new HTML('h4', {}, "Community Health Metrics:")) document.body.inject(html); -let txt = "Notable mailing list trends:"; +html.inject(new HTML('h5', {}, "Notable mailing list trends:")) +let txt = ""; // Mailing list changes for (var ml in data.delivery[project]) { Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864488=1864487=1864488=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 09:57:37 2019 @@ -2226,7 +2226,8 @@ function statistics_health(data) { }); html.inject(new HTML('h4', {}, "Community Health Metrics:")) document.body.inject(html); -let txt = "Notable mailing list trends:"; +html.inject(new HTML('h5', {}, "Notable mailing list trends:")) +let txt = ""; // Mailing list changes for (var ml in data.delivery[project]) {
svn commit: r1864487 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 09:56:37 2019 New Revision: 1864487 URL: http://svn.apache.org/viewvc?rev=1864487=rev Log: fix header(s) Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864487=1864486=1864487=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 09:56:37 2019 @@ -128,7 +128,7 @@ function statistics_health(data) { }); html.inject(new HTML('h4', {}, "Community Health Metrics:")) document.body.inject(html); -let txt = ""; +let txt = "Notable mailing list trends:"; // Mailing list changes for (var ml in data.delivery[project]) { @@ -233,7 +233,7 @@ function statistics_health(data) { clear: 'both' } }); -let txt = "JIRA Activity:"; +let txt = "JIRA activity:"; // Opened tickets let color = 'black'; let ctxt = data.kibble.jira.change.opened; Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864487=1864486=1864487=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 09:56:37 2019 @@ -2226,7 +2226,7 @@ function statistics_health(data) { }); html.inject(new HTML('h4', {}, "Community Health Metrics:")) document.body.inject(html); -let txt = ""; +let txt = "Notable mailing list trends:"; // Mailing list changes for (var ml in data.delivery[project]) { @@ -2331,7 +2331,7 @@ function statistics_health(data) { clear: 'both' } }); -let txt = "JIRA Activity:"; +let txt = "JIRA activity:"; // Opened tickets let color = 'black'; let ctxt = data.kibble.jira.change.opened;
svn commit: r1864486 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/drafts.js wizard.js
Author: humbedooh Date: Tue Aug 6 09:53:15 2019 New Revision: 1864486 URL: http://svn.apache.org/viewvc?rev=1864486=rev Log: so...I accidentally deleted my own report, so let's add a confirmation window here! Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js?rev=1864486=1864485=1864486=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/drafts.js Tue Aug 6 09:53:15 2019 @@ -104,7 +104,10 @@ function show_draft_list(state, json) { function delete_draft(filename) { -GET('drafts.py?action=delete=%s=%s'.format(project, filename), deleted_draft, {filename: filename}); + if (!window.confirm("Are you sure you wish to delete %s?".format(filename))) { +return; + } + GET('drafts.py?action=delete=%s=%s'.format(project, filename), deleted_draft, {filename: filename}); } function deleted_draft(state, json) { Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864486=1864485=1864486=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 09:53:15 2019 @@ -1119,7 +1119,10 @@ function show_draft_list(state, json) { function delete_draft(filename) { -GET('drafts.py?action=delete=%s=%s'.format(project, filename), deleted_draft, {filename: filename}); + if (!window.confirm("Are you sure you wish to delete %s?".format(filename))) { +return; + } + GET('drafts.py?action=delete=%s=%s'.format(project, filename), deleted_draft, {filename: filename}); } function deleted_draft(state, json) {
svn commit: r1864483 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/statistics_generator.js wizard.js
Author: humbedooh Date: Tue Aug 6 09:32:40 2019 New Revision: 1864483 URL: http://svn.apache.org/viewvc?rev=1864483=rev Log: add CHI Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js?rev=1864483=1864482=1864483=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/statistics_generator.js Tue Aug 6 09:32:40 2019 @@ -103,12 +103,17 @@ function statistics_roster(pdata) { } function statistics_meta(data) { +let chi = (6.33 + (data.health[project].score * -1.00 * (20 / 12.25))).toFixed(2); +let cscore = data.health[project].cscore; +let hcolors = ["#70", "#007000", "#407000", "#70500", "#70", "#A0"] + let hvalues = ["Super Healthy", "Healthy", "Mostly Okay", "Unhealthy", "Action required!", "URGENT ACTION REQUIRED!"] let txt = "Base Data:"; let founded = moment((data.pmcdates[project].pmc[2] || data.pmcdates[project].pmc[1]) * 1000.0); let age = founded.fromNow(); txt += "Founded: %s (%s)".format(founded.format('-MM-DD'), age); txt += "Chair: %s".format(data.pdata[project].chair); -txt += getReportDate(cycles, project); +txt += getReportDate(cycles, project) + ""; +txt += "Community Health Score (Chi): %s (%s)".format(project, hcolors[cscore], chi, hvalues[cscore]); return txt; } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864483=1864482=1864483=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 09:32:40 2019 @@ -2198,12 +2198,17 @@ function statistics_roster(pdata) { } function statistics_meta(data) { +let chi = (6.33 + (data.health[project].score * -1.00 * (20 / 12.25))).toFixed(2); +let cscore = data.health[project].cscore; +let hcolors = ["#70", "#007000", "#407000", "#70500", "#70", "#A0"] + let hvalues = ["Super Healthy", "Healthy", "Mostly Okay", "Unhealthy", "Action required!", "URGENT ACTION REQUIRED!"] let txt = "Base Data:"; let founded = moment((data.pmcdates[project].pmc[2] || data.pmcdates[project].pmc[1]) * 1000.0); let age = founded.fromNow(); txt += "Founded: %s (%s)".format(founded.format('-MM-DD'), age); txt += "Chair: %s".format(data.pdata[project].chair); -txt += getReportDate(cycles, project); +txt += getReportDate(cycles, project) + ""; +txt += "Community Health Score (Chi): %s (%s)".format(project, hcolors[cscore], chi, hvalues[cscore]); return txt; }
svn commit: r1864482 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/generators.js wizard.js
Author: humbedooh Date: Tue Aug 6 09:25:42 2019 New Revision: 1864482 URL: http://svn.apache.org/viewvc?rev=1864482=rev Log: fix link Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js?rev=1864482=1864481=1864482=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js Tue Aug 6 09:25:42 2019 @@ -184,7 +184,7 @@ function splash(state, json, all) { let tr = new HTML('tr'); let rd = new HTML('td', {}, getReportDate(cycles, key, true)); let elink = new HTML('td', {}, new HTML('a', {href: '?%s'.format(key)}, "Board report editor")); -let slink = new HTML('td', {}, new HTML('a', {href: '?%s'.format(key)}, "Full statistics for %s".format(tlpname))); +let slink = new HTML('td', {}, new HTML('a', {href: 'statistics?%s'.format(key)}, "Full statistics for %s".format(tlpname))); let title = new HTML('td', {}, new HTML('b', {}, tlpname)); let cname = new HTML('td', {style: {color: ccolor}}, new HTML('b', {}, chair)); tr.inject([title, cname, rd, elink, slink]) Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864482=1864481=1864482=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 09:25:42 2019 @@ -1366,7 +1366,7 @@ function splash(state, json, all) { let tr = new HTML('tr'); let rd = new HTML('td', {}, getReportDate(cycles, key, true)); let elink = new HTML('td', {}, new HTML('a', {href: '?%s'.format(key)}, "Board report editor")); -let slink = new HTML('td', {}, new HTML('a', {href: '?%s'.format(key)}, "Full statistics for %s".format(tlpname))); +let slink = new HTML('td', {}, new HTML('a', {href: 'statistics?%s'.format(key)}, "Full statistics for %s".format(tlpname))); let title = new HTML('td', {}, new HTML('b', {}, tlpname)); let cname = new HTML('td', {style: {color: ccolor}}, new HTML('b', {}, chair)); tr.inject([title, cname, rd, elink, slink])
svn commit: r1864479 - /comdev/reporter.apache.org/trunk/site/wizard/index.html
Author: humbedooh Date: Tue Aug 6 09:19:19 2019 New Revision: 1864479 URL: http://svn.apache.org/viewvc?rev=1864479=rev Log: oops Modified: comdev/reporter.apache.org/trunk/site/wizard/index.html Modified: comdev/reporter.apache.org/trunk/site/wizard/index.html URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/index.html?rev=1864479=1864478=1864479=diff == --- comdev/reporter.apache.org/trunk/site/wizard/index.html (original) +++ comdev/reporter.apache.org/trunk/site/wizard/index.html Tue Aug 6 09:19:19 2019 @@ -17,7 +17,7 @@ https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css; integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> - + Loading base data..
svn commit: r1864478 - in /comdev/reporter.apache.org/trunk/site/wizard/js: source/generators.js wizard.js
Author: humbedooh Date: Tue Aug 6 09:16:20 2019 New Revision: 1864478 URL: http://svn.apache.org/viewvc?rev=1864478=rev Log: add links for both editor and stats Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js?rev=1864478=1864477=1864478=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/source/generators.js Tue Aug 6 09:16:20 2019 @@ -164,7 +164,8 @@ function splash(state, json, all) { new HTML('td', {}, "Project:"), new HTML('td', {}, "Chair:"), new HTML('td', {}, "Next report date:"), -new HTML('td', {}, "Wizard link:") +new HTML('td', {}, "Editor:"), +new HTML('td', {}, "Full statistics:"), ]) tbl.inject(hdr); let keys = json.pdata; @@ -182,10 +183,11 @@ function splash(state, json, all) { } let tr = new HTML('tr'); let rd = new HTML('td', {}, getReportDate(cycles, key, true)); -let link = new HTML('td', {}, new HTML('a', {href: '?%s'.format(key)}, "Wizard for %s".format(tlpname))); +let elink = new HTML('td', {}, new HTML('a', {href: '?%s'.format(key)}, "Board report editor")); +let slink = new HTML('td', {}, new HTML('a', {href: '?%s'.format(key)}, "Full statistics for %s".format(tlpname))); let title = new HTML('td', {}, new HTML('b', {}, tlpname)); let cname = new HTML('td', {style: {color: ccolor}}, new HTML('b', {}, chair)); -tr.inject([title, cname, rd, link]) +tr.inject([title, cname, rd, elink, slink]) tbl.inject(tr); } } Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864478=1864477=1864478=diff == --- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original) +++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Tue Aug 6 09:16:20 2019 @@ -1346,7 +1346,8 @@ function splash(state, json, all) { new HTML('td', {}, "Project:"), new HTML('td', {}, "Chair:"), new HTML('td', {}, "Next report date:"), -new HTML('td', {}, "Wizard link:") +new HTML('td', {}, "Editor:"), +new HTML('td', {}, "Full statistics:"), ]) tbl.inject(hdr); let keys = json.pdata; @@ -1364,10 +1365,11 @@ function splash(state, json, all) { } let tr = new HTML('tr'); let rd = new HTML('td', {}, getReportDate(cycles, key, true)); -let link = new HTML('td', {}, new HTML('a', {href: '?%s'.format(key)}, "Wizard for %s".format(tlpname))); +let elink = new HTML('td', {}, new HTML('a', {href: '?%s'.format(key)}, "Board report editor")); +let slink = new HTML('td', {}, new HTML('a', {href: '?%s'.format(key)}, "Full statistics for %s".format(tlpname))); let title = new HTML('td', {}, new HTML('b', {}, tlpname)); let cname = new HTML('td', {style: {color: ccolor}}, new HTML('b', {}, chair)); -tr.inject([title, cname, rd, link]) +tr.inject([title, cname, rd, elink, slink]) tbl.inject(tr); } }
svn commit: r1864477 - /comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css
Author: humbedooh Date: Tue Aug 6 09:16:04 2019 New Revision: 1864477 URL: http://svn.apache.org/viewvc?rev=1864477=rev Log: fix height regression Modified: comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css Modified: comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css?rev=1864477=1864476=1864477=diff == --- comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css (original) +++ comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css Tue Aug 6 09:16:04 2019 @@ -3,6 +3,8 @@ html, body { min-height: 100%; width: 10 body { font-family: SelawikRegular, sans-serif; } + + #wrapper { width: 95%; min-width: 1008px; @@ -233,6 +235,7 @@ body { display: inline-block; width: 556px; height: 100%; + min-height: 650px; margin: 0; padding: 0; vertical-align: top; @@ -242,6 +245,8 @@ body { #unified-report { width: calc(100% - 16px); height: calc(100% - 24px); + min-height: 650px; + position: relative; font-size: 11px; white-space: pre-wrap; overflow-wrap: normal;
svn commit: r1864476 - /comdev/reporter.apache.org/trunk/site/wizard/statistics.html
Author: humbedooh Date: Tue Aug 6 09:08:23 2019 New Revision: 1864476 URL: http://svn.apache.org/viewvc?rev=1864476=rev Log: force fresh version Modified: comdev/reporter.apache.org/trunk/site/wizard/statistics.html Modified: comdev/reporter.apache.org/trunk/site/wizard/statistics.html URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/statistics.html?rev=1864476=1864475=1864476=diff == --- comdev/reporter.apache.org/trunk/site/wizard/statistics.html (original) +++ comdev/reporter.apache.org/trunk/site/wizard/statistics.html Tue Aug 6 09:08:23 2019 @@ -65,7 +65,7 @@ - +