mirror of
https://git.launchpad.net/ubuntu-dev-tools
synced 2025-03-13 16:11:15 +00:00
80 lines
1.7 KiB
Python
Executable File
80 lines
1.7 KiB
Python
Executable File
#!/usr/bin/python
|
|
#
|
|
# Copyright 2007, Canonical, Daniel Holbach
|
|
#
|
|
# GPL 3
|
|
#
|
|
# hugdaylist <url>
|
|
# - produces lists like https://wiki.ubuntu.com/UbuntuBugDay/20070912?action=raw
|
|
#
|
|
# hugdaylist -n <howmany> <url>
|
|
# - will only list <howmany> URLs
|
|
#
|
|
|
|
import re
|
|
import os
|
|
import sys
|
|
import string
|
|
|
|
try:
|
|
import launchpadbugs.connector as Connector
|
|
BugList = Connector.ConnectBugList()
|
|
Bug = Connector.ConnectBug()
|
|
except:
|
|
print >> sys.stderr, \
|
|
"You need python-launchpad-bugs (>= 0.2.9) installed to use hugdaylist."
|
|
sys.exit(1)
|
|
|
|
|
|
USAGE = "hugdaylist [-n <howmany>] <URL>"
|
|
|
|
def check_args():
|
|
howmany = -1
|
|
url = ""
|
|
|
|
if len(sys.argv) < 2:
|
|
print >> sys.stderr, USAGE
|
|
sys.exit(1)
|
|
|
|
if sys.argv[1] == "-n":
|
|
howmany = int(sys.argv[2])
|
|
url = sys.argv[3]
|
|
else:
|
|
url = sys.argv[1]
|
|
|
|
return (howmany, url)
|
|
|
|
def filter_unsolved(bugs):
|
|
result = set()
|
|
|
|
for b in bugs:
|
|
bug = Bug(int(b))
|
|
if bug.status != 'Fix Committed' and \
|
|
'ubuntu-main-sponsors' not in [str(s) for s in bug.subscribers] and \
|
|
'ubuntu-universe-sponsors' not in [str(s) for s in bug.subscribers]:
|
|
result.add(b)
|
|
return result
|
|
|
|
def main():
|
|
(howmany, url) = check_args()
|
|
|
|
l = BugList(url).filter(func=[filter_unsolved])
|
|
|
|
if not l.bugs:
|
|
print "BugList of %s is empty." % url
|
|
sys.exit(0)
|
|
|
|
if howmany == -1:
|
|
howmany = len(l.bugs)
|
|
|
|
print "|| Bug || Subject || Triager ||"
|
|
|
|
for i in list(l.bugs)[:howmany]:
|
|
print '||<rowstyle="background-color: ;"> [%s %s] || %s || ||' % \
|
|
(i.url, i.bugnumber, i.summary)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|
|
|