]> git.decadent.org.uk Git - dak.git/blob - tools/import_changelogs.py
Merge remote branch 'drkranz/make-changelog' into merge
[dak.git] / tools / import_changelogs.py
1 #!/usr/bin/python
2 # (c) 2010 Luca Falavigna <dktrkranz@debian.org>
3 # Free software licensed under the GPL version 2 or later
4
5 import os
6 import sys
7 import fnmatch
8 from glob import glob
9 from daklib.dbconn import *
10 from daklib import utils
11 from daklib.queue import Upload
12
13 i = 0
14 t = 0
15 pattern = '*.changes'
16 changes_dir = '/srv/ftp.debian.org/queue/done'
17
18 def find_changes(pattern, root):
19     for path, dirs, files in os.walk(os.path.abspath(root)):
20         for filename in fnmatch.filter(files, pattern):
21             yield os.path.join(path, filename)
22
23 for changes_file in find_changes(pattern, changes_dir):
24     t = t + 1
25 for changes_file in find_changes(pattern, changes_dir):
26     u = Upload()
27     u.pkg.changes_file = changes_file
28     (u.pkg.changes["fingerprint"], rejects) = utils.check_signature(changes_file)
29     if u.load_changes(changes_file):
30         try:
31             u.store_changelog()
32         except:
33             print 'Unable to handle %s' % changes_file
34     else:
35         print u.rejects
36     i = i + 1
37     sys.stdout.write('%d out of %d processed\r' % (i, t))