X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fupload.py;h=cabec15116ad898e78a8d48f7ab2743fd2735b07;hb=c0027c3ec691bf336bd1e23214add413ac7ddcae;hp=059cc51189299f5bbad2f3732e340fd7ad29552b;hpb=5b73e91da92d1a329e996cb7591b365c30abe750;p=dak.git diff --git a/daklib/upload.py b/daklib/upload.py index 059cc511..cabec151 100644 --- a/daklib/upload.py +++ b/daklib/upload.py @@ -173,7 +173,7 @@ def parse_file_list(control, has_priority_and_section): """ entries = {} - for line in control["Files"].split('\n'): + for line in control.get("Files", "").split('\n'): if len(line) == 0: continue @@ -186,20 +186,24 @@ def parse_file_list(control, has_priority_and_section): entries[filename] = entry - for line in control["Checksums-Sha1"].split('\n'): + for line in control.get("Checksums-Sha1", "").split('\n'): if len(line) == 0: continue (sha1sum, size, filename) = line.split() entry = entries.get(filename, None) + if entry is None: + raise InvalidChangesException('{0} is listed in Checksums-Sha1, but not in Files.'.format(filename)) if entry is not None and entry.get('size', None) != long(size): raise InvalidChangesException('Size for {0} in Files and Checksum-Sha1 fields differ.'.format(filename)) entry['sha1sum'] = sha1sum - for line in control["Checksums-Sha256"].split('\n'): + for line in control.get("Checksums-Sha256", "").split('\n'): if len(line) == 0: continue (sha256sum, size, filename) = line.split() entry = entries.get(filename, None) + if entry is None: + raise InvalidChangesException('{0} is listed in Checksums-Sha256, but not in Files.'.format(filename)) if entry is not None and entry.get('size', None) != long(size): raise InvalidChangesException('Size for {0} in Files and Checksum-Sha256 fields differ.'.format(filename)) entry['sha256sum'] = sha256sum @@ -277,7 +281,7 @@ class Changes(object): """list of architectures included in the upload @type: list of str """ - return self.changes['Architecture'].split() + return self.changes.get('Architecture', '').split() @property def distributions(self):