X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils.py;h=8058d3bea9b0305477a75ce08e465125c80a7e98;hb=62f80fe886360a984b5225c7aaa7637635335248;hp=122b8dd7ff16ef484450f5aed07a0431915ce1d2;hpb=997f4432f3c09863ff906a55f5205245352f56b5;p=dak.git diff --git a/utils.py b/utils.py index 122b8dd7..8058d3be 100644 --- a/utils.py +++ b/utils.py @@ -1,6 +1,6 @@ # Utility functions # Copyright (C) 2000 James Troup -# $Id: utils.py,v 1.10 2000-12-19 17:23:03 troup Exp $ +# $Id: utils.py,v 1.12 2001-01-25 06:00:07 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 @@ -54,6 +54,29 @@ def our_raw_input(): ###################################################################################### +# What a mess. FIXME +def extract_component_from_section(section): + component = ""; + + if string.find(section, '/') != -1: + component = string.split(section, '/')[0]; + if string.lower(component) == "non-us" and string.count(section, '/') > 0: + s = string.split(section, '/')[1]; + if s == "main" or s == "non-free" or s == "contrib": # Avoid e.g. non-US/libs + component = string.split(section, '/')[0]+ '/' + string.split(section, '/')[1]; + + if string.lower(section) == "non-us": + component = "non-US/main"; + + if component == "": + component = "main"; + elif string.lower(component) == "non-us": + component = "non-US/main"; + + return (section, component); + +###################################################################################### + def parse_changes(filename): changes_in = open_file(filename,'r'); error = "" @@ -104,30 +127,19 @@ def build_file_list(changes, dsc): if i == "": break s = string.split(i) - section = priority = component = "" - if dsc != "": - (md5, size, name) = s - else: - (md5, size, section, priority, name) = s + section = priority = ""; + try: + if dsc != "": + (md5, size, name) = s + else: + (md5, size, section, priority, name) = s + except ValueError: + raise changes_parse_error_exc, i if section == "": section = "-" if priority == "": priority = "-" - # What a mess. FIXME - if string.find(section, '/') != -1: - component = string.split(section, '/')[0] - if string.lower(component) == "non-us" and string.count(section, '/') > 0: - s = string.split(section, '/')[1] - if s == "main" or s == "non-free" or s == "contrib": # Avoid e.g. non-US/libs - component = string.split(section, '/')[0]+ '/' + string.split(section, '/')[1] - - if string.lower(section) == "non-us": - component = "non-US/main"; - - if component == "": - component = "main"; - elif string.lower(component) == "non-us": - component = "non-US/main"; + (section, component) = extract_component_from_section(section); files[name] = { "md5sum" : md5, "size" : size,