]> git.decadent.org.uk Git - dak.git/blob - contrib/hack.2
security.debian.org
[dak.git] / contrib / hack.2
1 #!/usr/bin/env python
2
3 import os, pg, stat, string, sys
4 import utils, db_access
5 import apt_pkg, apt_inst;
6
7
8 def remove(file):
9     dir = '/org/ftp.debian.org/morgue/shania/'
10     if os.access(file,os.R_OK) == 0:
11         sys.stderr.write("E: can't read '%s' to remove it.\n" % (file));
12         return;
13     dest = dir + os.path.basename(file);
14     if os.path.exists(dest):
15         sys.stderr.write("E: '%s' already exists in '%s'.\n" % (file, dir));
16         return;
17     print "%s -> %s" % (file, dir);
18     utils.move(file, dest);
19     return;
20
21 def main ():
22     for changes_file in sys.argv[1:]:
23         try:
24             changes = utils.parse_changes(changes_file, 0);
25         except:
26             sys.stderr.write("E: caught exception parsing '%s' [%s].\n" % (changes_file, sys.exc_type));
27             continue;
28         try:
29             files = utils.build_file_list(changes, "");
30         except:
31             sys.stderr.write("E: caught exception building file list for '%s' [%s].\n" % (changes_file, sys.exc_type));
32             continue;
33         for file in files.keys():
34             remove(file);
35         remove(changes_file);
36
37 #######################################################################################
38
39 if __name__ == '__main__':
40     main()
41