[dak/master] Use dak's facility for sending email. Add bts-categorize to cron.dinstall
Signed-off-by: Mike O'Connor <stew@vireo.org>
---
config/debian/cron.dinstall | 3 ++
dak/bts_categorize.py | 60 ++++++++++++++++++-------------------------
templates/bts-categorize | 6 ++++
3 files changed, 34 insertions(+), 35 deletions(-)
create mode 100644 templates/bts-categorize
diff --git a/config/debian/cron.dinstall b/config/debian/cron.dinstall
index 403a03f..afa2571 100755
--- a/config/debian/cron.dinstall
+++ b/config/debian/cron.dinstall
@@ -256,6 +256,9 @@ ts "reports"
echo "Updating DM html page"
$scriptsdir/dm-monitor >$webdir/dm-uploaders.html
+echo "Categorizing uncategorized bugs filed against ftp.debian.org"
+dak bts-categorize
+
################################################################################
# Push katie@merkel so it syncs the projectb there. Returns immediately, the sync runs detached
diff --git a/dak/bts_categorize.py b/dak/bts_categorize.py
index 11fc18c..1a4548e 100755
--- a/dak/bts_categorize.py
+++ b/dak/bts_categorize.py
@@ -22,19 +22,19 @@
################################################################################
################################################################################
+import sys
+import re
+import logging
+log = logging.getLogger()
+
+import apt_pkg
+from daklib import utils
+from btsutils.debbugs import debbugs
+
def usage():
print """
SYNOPSIS
- dak bts-categorize [options] command
-
-COMMANDS
- list-categories
- List the currently defind categorizations for bugs
-
- categorize
- Find the bugs filed against ftp.debian.org which have no usertag
- and see if we can categorize the bug by adding a usertag by matching
- the subject against a list of regexps.
+ dak bts-categorize [options]
OPTIONS
-s
@@ -60,15 +60,6 @@ arguments = [('s','simulate','BtsCategorize::Options::Simulate'),
('q', 'quiet', 'BtsCategorize::Options::Quiet'),
('h', 'help', 'BtsCategorize::Options::Help')]
-import sys
-import re
-import logging
-log = logging.getLogger()
-
-import apt_pkg
-from daklib import utils
-from btsutils.debbugs import debbugs
-
class BugClassifier(object):
"""
classify bugs using usertags based on the bug subject lines
@@ -130,22 +121,24 @@ class BugClassifier(object):
for bug in bc.unclassified_bugs():
controls += bc.classify_bug(bug)
- if controls:
- return 'user ftp.debian.org@packages.debian.org\n' + controls
+ return controls
import smtplib
import email.Message
-def send_email(body):
- to = 'control@bugs.debian.org'
- sender = 'ak@ries.debian.org'
- message = email.Message.Message()
- message["To"] = to
- message["From"] = sender
- message.set_payload(body)
- mailServer = smtplib.SMTP('localhost')
- mailServer.sendmail(sender, to, message.as_string())
- mailServer.quit()
+def send_email(commands, simulate):
+ global Cnf
+
+ Subst = {'__COMMANDS__' : commands,
+ "__DAK_ADDRESS__": Cnf["Dinstall::MyAdminAddress"]}
+
+ bts_mail_message = utils.TemplateSubst(
+ Subst,Cnf["Dir::Templates"]+"/bts-categorize")
+
+ if simulate:
+ print bts_mail_message
+ else:
+ utils.send_mail( bts_mail_message )
def main():
"""
@@ -183,10 +176,7 @@ def main():
body = BugClassifier().email_text()
if body:
- if Options["Simulate"]:
- print body
- else:
- send_email(body)
+ send_email(body, Options["Simulate"])
else:
log.info( "nothing to do" )
diff --git a/templates/bts-categorize b/templates/bts-categorize
new file mode 100644
index 0000000..7f43e1a
--- /dev/null
+++ b/templates/bts-categorize
@@ -0,0 +1,6 @@
+From: __DAK_ADDRESS__
+To: control@bugs.debian.org
+X-Debian: DAK
+
+user ftp.debian.org@packages.debian.org
+__COMMANDS__
--
1.5.6.5
Reply to: