[Piuparts-commits] [piuparts] 08/10: pkgsummary.py: tooltip() routing for DDPO
Holger Levsen
holger at moszumanska.debian.org
Mon Mar 3 02:57:25 UTC 2014
This is an automated email from the git hooks/post-receive script.
holger pushed a commit to branch develop
in repository piuparts.
commit 6a1c8f1c3a56978b8c2c8adfffa590da3c2209e5
Author: David Steele <dsteele at gmail.com>
Date: Tue Feb 18 17:23:57 2014 -0500
pkgsummary.py: tooltip() routing for DDPO
---
piupartslib/pkgsummary.py | 49 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/piupartslib/pkgsummary.py b/piupartslib/pkgsummary.py
index 8d1434b..98bbfba 100644
--- a/piupartslib/pkgsummary.py
+++ b/piupartslib/pkgsummary.py
@@ -1,3 +1,4 @@
+#!/usr/bin/python
# -*- coding: utf-8 -*-
# Copyright 2014 David Steele (dsteele at gmail.com)
@@ -153,6 +154,42 @@ def merge_summ(summ, sec_summ):
return summ
+def tooltip(summ, pkg):
+ """Returns e.g. "Failed in testing and stable, blocking 5 packages"."""
+
+ tip = ''
+ result_string = {
+ 'P': 'Passed',
+ 'X': 'Blocked',
+ 'W': 'Waiting',
+ 'F': 'Failed',
+ '-': 'Unknown',
+ }
+
+ pkgdict = summ['packages']
+
+ if pkg in pkgdict:
+ flag, block_cnt, url = pkgdict[pkg][DEFSEC]
+
+ sections = [x for x in pkgdict[pkg] if x != DEFSEC]
+ applicable = [x for x in sections if pkgdict[pkg][x][0] == flag]
+
+ tip = result_string[flag]
+
+ if len(applicable) > 2:
+ tip += ' in ' + ', '.join(applicable[:-1]) + ' and ' + applicable[-1]
+ elif len(applicable) == 2:
+ tip += ' in ' + ' and '.join(applicable)
+ elif len(applicable) == 1:
+ tip += ' in ' + applicable[0]
+
+ if block_cnt:
+ tip += ", blocking %d packages" % block_cnt
+
+ tip += '.'
+
+ return tip
+
def summ_write(summ, fname):
with open(fname, 'w') as fl:
json.dump(summ, fl, sort_keys=True, indent=1)
@@ -165,3 +202,15 @@ def summ_read(fname):
raise SummaryException('Summary JSON header mismatch')
return result
+
+if __name__ == '__main__':
+ import sys
+
+ # read a global summary file and return DDPO info by package
+ summ = summ_read(sys.argv[1])
+
+
+ for pkg in summ['packages']:
+ flag, blocked, url = summ['packages'][pkg][DEFSEC]
+
+ print pkg, flag, url, tooltip(summ, pkg)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/piuparts/piuparts.git
More information about the Piuparts-commits
mailing list