rpmdiff: replace deprecated rpm call

Related: https://pagure.io/koji/issue/3561
This commit is contained in:
Tomas Kopecek 2022-10-24 10:58:23 +02:00
parent eff32f4f05
commit a8c4373c97

View file

@ -117,8 +117,13 @@ class Rpmdiff:
# compare the files
old_files_dict = self.__fileIteratorToDict(old.fiFromHeader())
new_files_dict = self.__fileIteratorToDict(new.fiFromHeader())
try:
old_files_dict = self.__fileIteratorToDict(rpm.files(old))
new_files_dict = self.__fileIteratorToDict(rpm.files(new))
except AttributeError:
old_files_dict = self.__fileIteratorToDict(old.fiFromHeader())
new_files_dict = self.__fileIteratorToDict(new.fiFromHeader())
files = sorted(set(itertools.chain(six.iterkeys(old_files_dict),
six.iterkeys(new_files_dict))))
self.old_data['files'] = old_files_dict
@ -227,7 +232,12 @@ class Rpmdiff:
def __fileIteratorToDict(self, fi):
result = {}
for filedata in fi:
result[filedata[0]] = list(filedata[1:])
if isinstance(filedata, (list, tuple)):
# old interface (fiFromHeader)
result[filedata[0]] = list(filedata[1:])
else:
# new (rpm.files)
result[filedata.name] = filedata
return result
def kojihash(self, new=False):