From: Alexander Reichle-Schmehl Date: Sat, 18 Sep 2010 14:14:52 +0000 (+0200) Subject: Port bts_categorize to python-debianbts X-Git-Url: https://git.decadent.org.uk/gitweb/?p=dak.git;a=commitdiff_plain;h=01496fe710b21e3922ef7b6f3ffa74f2b697b34d Port bts_categorize to python-debianbts --- diff --git a/dak/bts_categorize.py b/dak/bts_categorize.py index 663690a1..10ec9fac 100755 --- a/dak/bts_categorize.py +++ b/dak/bts_categorize.py @@ -5,6 +5,7 @@ bts -- manage bugs filed against ftp.debian.org @contact: Debian FTP Master @copyright: 2009 Mike O'Connor +@copyright: 2010 Alexander Reichle-Schmehl @license: GNU General Public License version 2 or later """ @@ -33,7 +34,7 @@ log = logging.getLogger() import apt_pkg from daklib import utils -from btsutils.debbugs import debbugs +import debianbts as bts def usage(): print """ @@ -84,8 +85,10 @@ class BugClassifier(object): arch_re: 'archs'} def __init__( self ): - self.bts = debbugs() - self.bts.setUsers(['ftp.debian.org@packages.debian.org']) + # Tolimar: I'm not really sure, what the following line used to to + # with btsutils, but I think it's not needed any more with + # debianbts + # self.bts.setUsers(['ftp.debian.org@packages.debian.org']) def unclassified_bugs(self): @@ -93,8 +96,14 @@ class BugClassifier(object): Returns a list of open bugs which have not yet been classified by one of our usertags. """ - return [ bug for bug in self.bts.query("pkg:ftp.debian.org") \ - if bug.status=='pending' and not bug.usertags ] + + tagged_bugs = bts.get_usertag('ftp.debian.org@packages.debian.org') + tagged_bugs_ftp = [] + for tags in tagged_bugs.keys(): + tagged_bugs_ftp += tagged_bugs[tags] + + return [ bug for bug in bts.get_status( bts.get_bugs("package", "ftp.debian.org" ) ) \ + if bug.pending=='pending' and not bug.bug_num in tagged_bugs_ftp ] def classify_bug(self, bug): @@ -107,14 +116,14 @@ class BugClassifier(object): for classifier in self.classifiers.keys(): if classifier.match(bug.summary): - retval = "usertag %s %s\n" % (bug.bug, + retval = "usertag %s %s\n" % (bug.bug_num, self.classifiers[classifier]) break if retval: log.info(retval) else: - log.debug("Unmatched: [%s] %s" % (bug.bug, bug.summary)) + log.debug("Unmatched: [%s] %s" % (bug.bug_num, bug.summary)) return retval diff --git a/docs/meta/common/ftpmaster-common b/docs/meta/common/ftpmaster-common index 831fff6a..5b54ac05 100644 --- a/docs/meta/common/ftpmaster-common +++ b/docs/meta/common/ftpmaster-common @@ -5,7 +5,7 @@ Standards-Version: 3.8.1 Package: ftpmaster-common Version: 1.0 Maintainer: Debian FTP Master -Depends: apt-utils, bzip2, gnupg, gpgv, gzip, libapt-pkg-dev, lintian, python, python-apt, python-btsutils, python-debian, python-gnupginterface, python-ldap, python-psycopg2, python-pygresql, python-pyrss2gen, python-yaml, python-sqlalchemy +Depends: apt-utils, bzip2, gnupg, gpgv, gzip, libapt-pkg-dev, lintian, python, python-apt, python-debianbts, python-debian, python-gnupginterface, python-ldap, python-psycopg2, python-pygresql, python-pyrss2gen, python-yaml, python-sqlalchemy Recommends: postgresql-plperl-8.4, postgresql-8.4-debversion, postgresql-plpython-8.4 Architecture: all Copyright: copyright