X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=shania;h=f01d20f1f84290dbb3c2fbbbb18e28c2a2dc13f3;hb=d0a891d7eb8d79b747f031392dd29de3acd68d84;hp=51febbb50a5612fad135976f10883b102b952832;hpb=87f1f5167cff0dbc3995f2a44366ac89fe30f679;p=dak.git diff --git a/shania b/shania index 51febbb5..f01d20f1 100755 --- a/shania +++ b/shania @@ -1,8 +1,8 @@ #!/usr/bin/env python # Clean incoming of old unused files -# Copyright (C) 2000, 2001 James Troup -# $Id: shania,v 1.8 2001-11-16 21:35:56 rmurray Exp $ +# Copyright (C) 2000, 2001, 2002 James Troup +# $Id: shania,v 1.16 2002-05-23 09:54:23 troup Exp $ # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -20,32 +20,16 @@ ################################################################################ -import os, re, stat, string, sys, time, traceback -import utils +import os, stat, sys, time; +import utils; import apt_pkg; ################################################################################ -# 23:12| I will not hush! -# 23:12| :> -# 23:12| Where there is injustice in the world, I shall be there! -# 23:13| I shall not be silenced! -# 23:13| The world shall know! -# 23:13| The world *must* know! -# 23:13| oh dear, he's gone back to powerpuff girls... ;-) -# 23:13| yay powerpuff girls!! -# 23:13| buttercup's my favourite, who's yours? -# 23:14| you're backing away from the keyboard right now aren't you? -# 23:14| *AREN'T YOU*?! -# 23:15| I will not be treated like this. -# 23:15| I shall have my revenge. -# 23:15| I SHALL!!! - -################################################################################ - Cnf = None; Options = None; del_dir = None; +delete_date = None; ################################################################################ @@ -80,7 +64,7 @@ def init (): # Move to the directory to clean incoming = Options["Incoming"]; if incoming == "": - incoming = Cnf["Dir::IncomingDir"]; + incoming = Cnf["Dir::Queue::Unchecked"]; os.chdir(incoming); # Remove a file to the morgue @@ -90,7 +74,7 @@ def remove (file): # If the destination file exists; try to find another filename to use if os.path.exists(dest_filename): dest_filename = utils.find_next_free(dest_filename, 10); - utils.move(file, dest_filename); + utils.move(file, dest_filename, 0660); else: utils.warn("skipping '%s', permission denied." % (os.path.basename(file))); @@ -128,18 +112,18 @@ def flush_orphans (): # Proces all .changes and .dsc files. for changes_filename in changes_files: try: - changes = utils.parse_changes(changes_filename, 0) - files = utils.build_file_list(changes, ""); + changes = utils.parse_changes(changes_filename); + files = utils.build_file_list(changes); except: - utils.warn("error processing '%s'; skipping it. [Got %s]" % (file, sys.exc_type)); + utils.warn("error processing '%s'; skipping it. [Got %s]" % (changes_filename, sys.exc_type)); continue; dsc_files = {}; for file in files.keys(): if file[-4:] == ".dsc": try: - dsc = utils.parse_changes(file, 0) - dsc_files = utils.build_file_list(dsc, 1) + dsc = utils.parse_changes(file); + dsc_files = utils.build_file_list(dsc, is_a_dsc=1); except: utils.warn("error processing '%s'; skipping it. [Got %s]" % (file, sys.exc_type)); continue; @@ -173,18 +157,16 @@ def flush_orphans (): def main (): global Cnf, Options; - apt_pkg.init(); - - Cnf = apt_pkg.newConfiguration(); + Cnf = utils.get_conf() for i in ["Help", "Incoming", "No-Action", "Verbose" ]: - Cnf["Shania::Options::%s" % (i)] = ""; - Cnf["Shania::Options::Days"] = "14"; - - apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file()); + if not Cnf.has_key("Shania::Options::%s" % (i)): + Cnf["Shania::Options::%s" % (i)] = ""; + if not Cnf.has_key("Shania::Options::Days"): + Cnf["Shania::Options::Days"] = "14"; Arguments = [('h',"help","Shania::Options::Help"), - ('d',"days","Shania::Options::Days", "IntVal"), + ('d',"days","Shania::Options::Days", "IntLevel"), ('i',"incoming","Shania::Options::Incoming", "HasArg"), ('n',"no-action","Shania::Options::No-Action"), ('v',"verbose","Shania::Options::Verbose")]; @@ -195,7 +177,7 @@ def main (): if Options["Help"]: usage(); - init (); + init(); if Options["Verbose"]: print "Processing incoming..." @@ -210,4 +192,4 @@ def main (): ####################################################################################### if __name__ == '__main__': - main() + main();