X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=natalie;h=2c43a5d2cdc30f55d783dc5b14d51fea834ff838;hb=a29673e49824a6c0838df50ab64ac08cf32852d8;hp=cdcc75ad4631e58cf142ebcf1011120d9ad29bd2;hpb=7c24d50ddbf290d779cd4fce50b1f77fd738cf95;p=dak.git diff --git a/natalie b/natalie index cdcc75ad..2c43a5d2 100755 --- a/natalie +++ b/natalie @@ -1,8 +1,8 @@ #!/usr/bin/env python # Manipulate override files -# Copyright (C) 2000, 2001, 2002 James Troup -# $Id: natalie,v 1.3 2002-07-14 15:01:19 troup Exp $ +# Copyright (C) 2000, 2001, 2002, 2003 James Troup +# $Id: natalie,v 1.6 2003-04-15 16:03:31 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,7 +20,37 @@ ################################################################################ -import pg, string, sys, time; +# On 30 Nov 1998, James Troup wrote: +# +# > James Troup<2> +# > +# > James is a clone of James; he's going to take over the world. +# > After he gets some sleep. +# +# Could you clone other things too? Sheep? Llamas? Giant mutant turnips? +# +# Your clone will need some help to take over the world, maybe clone up an +# army of penguins and threaten to unleash them on the world, forcing +# governments to sway to the new James' will! +# +# Yes, I can envision a day when James' duplicate decides to take a horrific +# vengance on the James that spawned him and unleashes his fury in the form +# of thousands upon thousands of chickens that look just like Captin Blue +# Eye! Oh the horror. +# +# Now you'll have to were name tags to people can tell you apart, unless of +# course the new clone is truely evil in which case he should be easy to +# identify! +# +# Jason +# Chicken. Black. Helicopters. +# Be afraid. + +# + +################################################################################ + +import pg, sys, time; import utils, db_access, logging; import apt_pkg; @@ -87,47 +117,47 @@ def process_file (file, suite, component, type, action): start_time = time.time(); projectB.query("BEGIN WORK"); for line in file.readlines(): - line = string.strip(utils.re_comments.sub('', line[:-1])) + line = utils.re_comments.sub('', line).strip(); if line == "": continue; maintainer_override = None; if type == "dsc": - split_line = string.split(line, None, 2); + split_line = line.split(None, 2); if len(split_line) == 2: (package, section) = split_line; elif len(split_line) == 3: (package, section, maintainer_override) = split_line; else: utils.warn("'%s' does not break into 'package section [maintainer-override]'." % (line)); - c_error = c_error + 1; + c_error += 1; continue; priority = "source"; else: # binary or udeb - split_line = string.split(line, None, 3); + split_line = line.split(None, 3); if len(split_line) == 3: (package, priority, section) = split_line; elif len(split_line) == 4: (package, priority, section, maintainer_override) = split_line; else: utils.warn("'%s' does not break into 'package priority section [maintainer-override]'." % (line)); - c_error = c_error + 1; + c_error += 1; continue; section_id = db_access.get_section_id(section); if section_id == -1: utils.warn("'%s' is not a valid section. ['%s' in suite %s, component %s]." % (section, package, suite, component)); - c_error = c_error + 1; + c_error += 1; continue; priority_id = db_access.get_priority_id(priority); if priority_id == -1: utils.warn("'%s' is not a valid priority. ['%s' in suite %s, component %s]." % (priority, package, suite, component)); - c_error = c_error + 1; + c_error += 1; continue; if new.has_key(package): utils.warn("Can't insert duplicate entry for '%s'; ignoring all but the first. [suite %s, component %s]" % (package, suite, component)); - c_error = c_error + 1; + c_error += 1; continue; new[package] = ""; if original.has_key(package): @@ -136,12 +166,12 @@ def process_file (file, suite, component, type, action): old_section_id == section_id and \ old_maintainer_override == maintainer_override: # If it's unchanged or we're in 'add only' mode, ignore it - c_skipped = c_skipped + 1; + c_skipped += 1; continue; else: # If it's changed, delete the old one so we can # reinsert it with the new information - c_updated = c_updated + 1; + c_updated += 1; projectB.query("DELETE FROM override WHERE suite = %s AND component = %s AND package = '%s' AND type = %s" % (suite_id, component_id, package, type_id)); # Log changes @@ -153,7 +183,7 @@ def process_file (file, suite, component, type, action): Logger.log(["changed maintainer override",package,old_maintainer_override,maintainer_override]); update_p = 1; else: - c_added = c_added + 1; + c_added += 1; update_p = 0; if maintainer_override: @@ -172,7 +202,7 @@ def process_file (file, suite, component, type, action): if not new.has_key(package): projectB.query("DELETE FROM override WHERE suite = %s AND component = %s AND package = '%s' AND type = %s" % (suite_id, component_id, package, type_id)); - c_removed = c_removed + 1; + c_removed += 1; Logger.log(["removed override",suite,component,type,package]); projectB.query("COMMIT WORK");