mirror of
https://github.com/openSUSE/osc.git
synced 2025-09-08 14:08:42 +02:00
fix and unify building of local package cache
* all filename functions now return bytes-like objects * the caller does the decoding * the caller in build.py passes encoded arguments
This commit is contained in:
@@ -229,9 +229,9 @@ class DebQuery(packagequery.PackageQuery, packagequery.PackageQueryResult):
|
||||
@staticmethod
|
||||
def filename(name, epoch, version, release, arch):
|
||||
if release:
|
||||
return '%s_%s-%s_%s.deb' % (name, version, release, arch)
|
||||
return b'%s_%s-%s_%s.deb' % (name, version, release, arch)
|
||||
else:
|
||||
return '%s_%s_%s.deb' % (name, version, arch)
|
||||
return b'%s_%s_%s.deb' % (name, version, arch)
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
|
@@ -169,8 +169,12 @@ class RepoDataQueryResult(osc.util.packagequery.PackageQueryResult):
|
||||
return self.__parseEntryCollection('enhances')
|
||||
|
||||
def canonname(self):
|
||||
return osc.util.rpmquery.RpmQuery.filename(self.name(), None,
|
||||
self.version(), self.release(), self.arch())
|
||||
if self.release() is None:
|
||||
release = None
|
||||
else:
|
||||
release = self.release().encode()
|
||||
return osc.util.rpmquery.RpmQuery.filename(self.name().encode(), None,
|
||||
self.version().encode(), release, self.arch().encode())
|
||||
|
||||
def gettag(self, tag):
|
||||
# implement me, if needed
|
||||
|
@@ -287,12 +287,12 @@ class RpmQuery(packagequery.PackageQuery, packagequery.PackageQueryResult):
|
||||
|
||||
def canonname(self):
|
||||
if self.is_nosrc():
|
||||
arch = 'nosrc'
|
||||
arch = b'nosrc'
|
||||
elif self.is_src():
|
||||
arch = 'src'
|
||||
arch = b'src'
|
||||
else:
|
||||
arch = self.arch()
|
||||
return RpmQuery.filename(decode_it(self.name()), None, decode_it(self.version()), decode_it(self.release()), decode_it(arch))
|
||||
return RpmQuery.filename(self.name(), None, self.version(), self.release(), arch)
|
||||
|
||||
@staticmethod
|
||||
def query(filename):
|
||||
@@ -374,7 +374,7 @@ class RpmQuery(packagequery.PackageQuery, packagequery.PackageQueryResult):
|
||||
|
||||
@staticmethod
|
||||
def filename(name, epoch, version, release, arch):
|
||||
return '%s-%s-%s.%s.rpm' % (name, version, release, arch)
|
||||
return b'%s-%s-%s.%s.rpm' % (name, version, release, arch)
|
||||
|
||||
def unpack_string(data, encoding=None):
|
||||
"""unpack a '\\0' terminated string from data"""
|
||||
|
Reference in New Issue
Block a user