X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=daklib%2Fupload.py;h=cabec15116ad898e78a8d48f7ab2743fd2735b07;hb=321e814e04b7e01820120fd888e55975dafc240a;hp=a6f1e4b819072c228e4c1a17b89cad944a7a81ea;hpb=1aaa31abc190aba714ee84c97927696274f8b2c0;p=dak.git diff --git a/daklib/upload.py b/daklib/upload.py index a6f1e4b8..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,23 +186,25 @@ 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.get('size', None) != long(size): + 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('No sha256sum for {0}.'.format(filename)) - if entry.get('size', None) != long(size): + 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 @@ -279,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):