Marking all closed bug reports "read" in a Maildir; tags=Debian, FOSS, HowTo
-- Christoph Egger <christoph@coders-nemesis.eu> Sun, 12 Jun 2011 16:53:11 +0200
Comments:
#!/usr/bin/python
from btsutils.debbugs import debbugs
import mailbox
import re
import sys
mailbox = mailbox.Maildir(sys.argv[1], factory=False)
bts = debbugs()
for key in mailbox.keys():
message = mailbox[key]
if not 'S' in message.get_flags():
if message['X-Debian-PR-Message']:
try:
bugnr = message['X-Debian-PR-Message'].split()[1]
except IndexError:
continue
else:
test = re.search('Bug#(\d{6})', message['Subject'])
if test:
bugnr = test.group(0)[4:]
else:
continue
try:
bug = bts.get(bugnr)
except AttributeError:
print bugnr
continue
if bug.getStatus() == u'done':
message.set_flags(message.get_flags() + 'S')
mailbox[key] = message
mailbox.flush()
Run it like python cleanbugsmail.py ~/Maildir/.debian.bugs. Anyone
aware of a better solution?
-- Christoph Egger <christoph@coders-nemesis.eu> Sun, 12 Jun 2011 16:53:11 +0200
Comments: