]> git.decadent.org.uk Git - dak.git/blob - tools/import_changelogs.py
Only publish components in suites where they exist.
[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 sys.path.append('../dak')
10 from daklib.dbconn import *
11 from daklib import utils
12 from daklib.queue import Upload
13
14 i = 0
15 t = 0
16 pattern = '*.changes'
17 changes_dir = '/srv/ftp.debian.org/queue/done'
18
19 def find_changes(pattern, root):
20     for path, dirs, files in os.walk(os.path.abspath(root)):
21         for filename in fnmatch.filter(files, pattern):
22             yield os.path.join(path, filename)
23
24 for changes_file in find_changes(pattern, changes_dir):
25     t = t + 1
26 for changes_file in find_changes(pattern, changes_dir):
27     u = Upload()
28     u.pkg.changes_file = changes_file
29     (u.pkg.changes["fingerprint"], rejects) = utils.check_signature(changes_file)
30     if u.load_changes(changes_file):
31         try:
32             u.store_changelog()
33         except:
34             print 'Unable to handle %s' % changes_file
35     else:
36         print u.rejects
37     i = i + 1
38     sys.stdout.write('%d out of %d processed\r' % (i, t))