If a file is only listed in the Checksums-* fields, "entry" will be None and we
cannot call the get method to compare the size in the different fields.
This change just skips the comparison when "entry" is None. We can do this as
we later check that each entry has all required checksums (i.e. is listed in
Files and the Checksums-* fields).
continue
(sha1sum, size, filename) = line.split()
entry = entries.get(filename, None)
continue
(sha1sum, size, filename) = line.split()
entry = entries.get(filename, None)
- if entry.get('size', None) != long(size):
+ 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
raise InvalidChangesException('Size for {0} in Files and Checksum-Sha1 fields differ.'.format(filename))
entry['sha1sum'] = sha1sum
continue
(sha256sum, size, filename) = line.split()
entry = entries.get(filename, None)
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):
+ 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
raise InvalidChangesException('Size for {0} in Files and Checksum-Sha256 fields differ.'.format(filename))
entry['sha256sum'] = sha256sum