[misc] 01/01: reports: generate-draft: add logic from review-stats
Ximin Luo
infinity0 at debian.org
Mon Aug 21 13:30:30 UTC 2017
This is an automated email from the git hooks/post-receive script.
infinity0 pushed a commit to branch master
in repository misc.
commit f152124d39a54193ca92b7c86d9be7bc52c9b6a7
Author: Ximin Luo <infinity0 at debian.org>
Date: Mon Aug 21 15:30:16 2017 +0200
reports: generate-draft: add logic from review-stats
---
reports/bin/generate-draft | 35 ++++++++++++++++++++++++++++++-----
reports/bin/generate-draft.template | 4 +---
reports/bin/review-stats | 4 ----
3 files changed, 31 insertions(+), 12 deletions(-)
diff --git a/reports/bin/generate-draft b/reports/bin/generate-draft
index 1643373..91be6b3 100755
--- a/reports/bin/generate-draft
+++ b/reports/bin/generate-draft
@@ -1,14 +1,15 @@
#!/usr/bin/env python3
+import collections
+import datetime
+import jinja2
import os
+import pickle
import re
+import subprocess
import sys
import time
-import jinja2
-import pickle
-import datetime
-import subprocess
-import collections
+import yaml
WEEK_1_END = 1430611200 # May 3 2015, 00:00 UTC, Sunday
@@ -78,6 +79,7 @@ def get_data(week, max_age=3600):
week_start = week_end - 7 * 24 * 3600 # inclusive
data = {x: y(week_start, week_end) for x, y in (
+ ('packages_stats', get_packages_stats),
('author', get_author),
('commits', get_commits),
('uploads', get_uploads),
@@ -225,6 +227,29 @@ def get_issues_yml(week_start, week_end):
def get_packages_yml(week_start, week_end):
return commits(week_start, week_end, 'notes', 'packages.yml')
+def open_packages_yml(date):
+ return subprocess.Popen(
+ "git show $(git rev-list -n1 --until @{0} master):packages.yml".format(date),
+ shell=True,
+ cwd=sibling_repo_gitdir("notes"),
+ stdout=subprocess.PIPE).stdout
+
+def get_packages_stats(week_start, week_end):
+ old = yaml.safe_load(open_packages_yml(week_start))
+ new = yaml.safe_load(open_packages_yml(week_end))
+
+ removed = set(old.keys()) - set(new.keys())
+ added = set(new.keys()) - set(old.keys())
+ updated = 0
+ for name in set(old.keys()).intersection(new.keys()):
+ if old[name] != new[name]:
+ updated += 1
+ return {
+ "removed": len(removed),
+ "added": len(added),
+ "updated": updated,
+ }
+
def commits(week_start, week_end, project, path='.'):
# Assume its in the parent dir
git_dir = sibling_repo_gitdir(project)
diff --git a/reports/bin/generate-draft.template b/reports/bin/generate-draft.template
index e19b277..edb82be 100644
--- a/reports/bin/generate-draft.template
+++ b/reports/bin/generate-draft.template
@@ -40,10 +40,8 @@ perhaps also run bin/review-bugs to see if anything was missed.
Reviews of unreproducible packages
----------------------------------
-FIXME package reviews have been added, FIXME have been updated and FIXME have been removed in this week,
+{{ packages_stats['added'] }} package reviews have been added, {{ packages_stats['updated'] }} have been updated and {{ packages_stats['removed'] }} have been removed in this week,
adding to our knowledge about [identified issues](https://tests.reproducible-builds.org/debian/index_issues.html).
-{% for _, xs in packages_yml.items()|sort %}{% for x in xs %}
-- [{{ x['title'] }}](https://anonscm.debian.org/git/reproducible/notes.git/commit/?id={{ x['sha'] }}){% endfor %}{% endfor %}
FIXME issue types have been updated:
{% for _, xs in issues_yml.items()|sort %}{% for x in xs %}
diff --git a/reports/bin/review-stats b/reports/bin/review-stats
index 281c40b..47f3c19 100755
--- a/reports/bin/review-stats
+++ b/reports/bin/review-stats
@@ -38,7 +38,3 @@ for name in set(old.keys()).intersection(new.keys()):
if old[name] != new[name]:
updated += 1
print("Updated: %d" % updated)
-
-print("%s package reviews have been added, %s have been updated and %s have been" % (len(added), updated, len(removed)))
-print("removed in this week, adding to our knowledge about [identified")
-print("issues](https://tests.reproducible-builds.org/debian/index_issues.html).")
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/misc.git
More information about the Reproducible-commits
mailing list