[Collab-qa-commits] r897 - upload-history
filippo at alioth.debian.org
filippo at alioth.debian.org
Tue Jun 24 18:56:49 UTC 2008
Author: filippo
Date: 2008-06-24 18:56:48 +0000 (Tue, 24 Jun 2008)
New Revision: 897
Modified:
upload-history/munge_ddc.py
Log:
keep a cache of msgids to avoid rescanning
Modified: upload-history/munge_ddc.py
===================================================================
--- upload-history/munge_ddc.py 2008-06-24 17:59:26 UTC (rev 896)
+++ upload-history/munge_ddc.py 2008-06-24 18:56:48 UTC (rev 897)
@@ -8,9 +8,12 @@
import subprocess
import sys
import os
+import cPickle
from debian_bundle import deb822
+msgid_cache = "msgid_cache.db"
+
# XXX gives false positives for example with -x+y.z.w, mitigated by checking Changes also
# XXX might change in the future, see DEP1 http://wiki.debian.org/NmuDep
nmu_version_RE = re.compile("(-\S+\.\d+|\+nmu\d+)$")
@@ -64,9 +67,23 @@
mb = mailbox.PortableUnixMailbox(file(mb_file), factory=email.message_from_file)
+ if os.path.exists(msgid_cache):
+ m_cache = cPickle.load(open(msgid_cache))
+ else:
+ m_cache = {}
+
for msg in mb:
if msg.is_multipart():
continue
+
+ msgid = msg.get('message-id', 0)
+ if msgid:
+ if m_cache.has_key(msgid):
+ continue
+ else:
+ # store the filename as value if purging is needed
+ m_cache[msgid] = mb_file
+
body = msg.get_payload(decode=True).split('\n')
# XXX work around Hash: sha1(\n)+ at the beginning of signed body
@@ -104,6 +121,7 @@
# separate different packages
print
+ cPickle.dump(m_cache, open(msgid_cache, "w"), 2)
if __name__ == '__main__':
if len(sys.argv) < 2:
More information about the Collab-qa-commits
mailing list