X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=shania;h=e3423d6851258205ae36767745e8fe537004e30d;hb=d889e5903fc6da2f7ba081dca17c457a20db5fa0;hp=2f86488f04df73de9f2e2864a379aabf82578425;hpb=bb2bb29985ed5bcb92505926e7e7a6ac3b976f8b;p=dak.git diff --git a/shania b/shania index 2f86488f..e3423d68 100755 --- a/shania +++ b/shania @@ -2,7 +2,7 @@ # Clean incoming of old unused files # Copyright (C) 2000, 2001 James Troup -# $Id: shania,v 1.7 2001-11-14 05:06:14 rmurray Exp $ +# $Id: shania,v 1.13 2002-03-14 14:12:04 ajt 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,8 +20,8 @@ ################################################################################ -import os, re, stat, string, sys, time, traceback -import utils +import os, stat, sys, time; +import utils; import apt_pkg; ################################################################################ @@ -46,6 +46,7 @@ import apt_pkg; Cnf = None; Options = None; del_dir = None; +delete_date = None; ################################################################################ @@ -90,7 +91,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))); @@ -131,7 +132,7 @@ def flush_orphans (): changes = utils.parse_changes(changes_filename, 0) 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 = {}; @@ -173,19 +174,19 @@ def flush_orphans (): def main (): global Cnf, Options; - apt_pkg.init(); + Cnf = utils.get_conf() - Cnf = apt_pkg.newConfiguration(); - apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file()); + for i in ["Help", "Incoming", "No-Action", "Verbose" ]: + 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")]; - for i in ["Help", "Incoming", "No-Action", "Verbose" ]: - Cnf["Shania::Options::%s" % (i)] = ""; - Cnf["Shania::Options::Days"] = 14; apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv); Options = Cnf.SubTree("Shania::Options")