[misc] 01/03: bin/generate-draft: flake8 file
Chris Lamb
chris at chris-lamb.co.uk
Sun Dec 3 08:43:26 UTC 2017
This is an automated email from the git hooks/post-receive script.
lamby pushed a commit to branch master
in repository misc.
commit f03d98a2cdd44d686a4e999f0753ff0fe5e17d56
Author: Chris Lamb <lamby at debian.org>
Date: Sun Dec 3 07:33:13 2017 +0000
bin/generate-draft: flake8 file
---
reports/bin/generate-draft | 27 ++++++++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)
diff --git a/reports/bin/generate-draft b/reports/bin/generate-draft
index ee473ac..91e881d 100755
--- a/reports/bin/generate-draft
+++ b/reports/bin/generate-draft
@@ -11,7 +11,7 @@ import sys
import time
import yaml
-WEEK_1_END = 1430611200 # May 3 2015, 00:00 UTC, Sunday
+WEEK_1_END = 1430611200 # May 3 2015, 00:00 UTC, Sunday
PROJECTS = (
'diffoscope',
@@ -23,6 +23,7 @@ PROJECTS = (
'reproducible-website',
)
+
def main(*args):
for x in PROJECTS + ('notes',):
ensure_dir(sibling_repo_gitdir(x))
@@ -38,13 +39,17 @@ def main(*args):
return 0
+
+
def log(msg, *args, **kwargs):
print("I: " + msg.format(*args, **kwargs), file=sys.stderr)
+
def prev_week():
now = int(time.time())
return ((now - WEEK_1_END) // (7*24*3600) + 1)
+
def sibling_repo_gitdir(path):
toplevel = os.path.dirname(subprocess.check_output((
'git',
@@ -54,10 +59,12 @@ def sibling_repo_gitdir(path):
return os.path.join(toplevel, path, '.git')
+
def ensure_dir(path):
if not os.path.isdir(path):
raise ValueError("not a directory: {}".format(path))
+
def get_data(week, max_age=3600):
filename = '/tmp/generate-draft-{}.pickle'.format(week)
@@ -75,8 +82,8 @@ def get_data(week, max_age=3600):
log("Getting new data")
- week_end = WEEK_1_END + (week - 1) * 7 * 24 * 3600 # exclusive
- week_start = week_end - 7 * 24 * 3600 # inclusive
+ week_end = WEEK_1_END + (week - 1) * 7 * 24 * 3600 # exclusive
+ week_start = week_end - 7 * 24 * 3600 # inclusive
data = {x: y(week_start, week_end) for x, y in (
('author', get_author),
@@ -103,9 +110,12 @@ def get_data(week, max_age=3600):
return data
+
+
def get_author(week_start, week_end):
return os.environ.get('DEBFULLNAME', 'FIXME')
+
def get_ftbfs_bugs(week_start, week_end):
return bugs(
week_start,
@@ -113,6 +123,7 @@ def get_ftbfs_bugs(week_start, week_end):
"bugs_usertags.tag = '{}'".format('ftbfs'),
)
+
def get_patches(week_start, week_end):
return bugs(
week_start,
@@ -120,6 +131,7 @@ def get_patches(week_start, week_end):
"id IN (SELECT id FROM bugs_tags WHERE tag = 'patch')",
)
+
def bugs(week_start, week_end, extra="true"):
log("Querying UDD for usertagged bugs with filter: {}", extra)
@@ -165,6 +177,7 @@ def bugs(week_start, week_end, extra="true"):
x: list(sorted(y, key=lambda x: x['id'])) for x, y in result.items()
}
+
def get_uploads(week_start, week_end):
log("Querying UDD for uploads")
@@ -199,6 +212,7 @@ def get_uploads(week_start, week_end):
return result
+
def udd(query, fields):
lines = subprocess.check_output("""
echo "{}" | ssh alioth.debian.org psql --no-psqlrc service=udd
@@ -218,15 +232,19 @@ def udd(query, fields):
return data
+
def get_commits(week_start, week_end):
return {x: commits(week_start, week_end, x) for x in PROJECTS}
+
def get_issues_yml(week_start, week_end):
return commits(week_start, week_end, 'notes', 'issues.yml')
+
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} origin/master):packages.yml".format(date),
@@ -234,6 +252,7 @@ def open_packages_yml(date):
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))
@@ -250,6 +269,7 @@ def get_packages_stats(week_start, week_end):
"updated": updated,
}
+
def commits(week_start, week_end, project, path='.'):
# Assume its in the parent dir
git_dir = sibling_repo_gitdir(project)
@@ -288,5 +308,6 @@ def commits(week_start, week_end, project, path='.'):
return result
+
if __name__ == '__main__':
sys.exit(main(*sys.argv[1:]))
--
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