mirror of
https://github.com/openSUSE/osc.git
synced 2025-08-21 22:18:52 +02:00
Merge pull request #483 from lethliel/python3_rpmquery_module
[python3] rpmquery.py now python3 ready
This commit is contained in:
@@ -5,6 +5,10 @@ import os
|
|||||||
import re
|
import re
|
||||||
import struct
|
import struct
|
||||||
from . import packagequery
|
from . import packagequery
|
||||||
|
from osc.util.helper import decode_it
|
||||||
|
|
||||||
|
def cmp(a, b):
|
||||||
|
return (a > b) - (a < b)
|
||||||
|
|
||||||
class RpmError(packagequery.PackageError):
|
class RpmError(packagequery.PackageError):
|
||||||
pass
|
pass
|
||||||
@@ -184,14 +188,14 @@ class RpmQuery(packagequery.PackageQuery, packagequery.PackageQueryResult):
|
|||||||
continue
|
continue
|
||||||
# RPMSENSE_SENSEMASK = 15 (see rpmlib.h) but ignore RPMSENSE_SERIAL (= 1 << 0) therefore use 14
|
# RPMSENSE_SENSEMASK = 15 (see rpmlib.h) but ignore RPMSENSE_SERIAL (= 1 << 0) therefore use 14
|
||||||
if flags & 14:
|
if flags & 14:
|
||||||
name += ' '
|
name += b' '
|
||||||
if flags & self.GREATER:
|
if flags & self.GREATER:
|
||||||
name += '>'
|
name += b'>'
|
||||||
elif flags & self.LESS:
|
elif flags & self.LESS:
|
||||||
name += '<'
|
name += b'<'
|
||||||
if flags & self.EQUAL:
|
if flags & self.EQUAL:
|
||||||
name += '='
|
name += b'='
|
||||||
name += ' %s' % ver
|
name += b' %s' % ver
|
||||||
res.append(name)
|
res.append(name)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@@ -288,7 +292,7 @@ class RpmQuery(packagequery.PackageQuery, packagequery.PackageQueryResult):
|
|||||||
arch = 'src'
|
arch = 'src'
|
||||||
else:
|
else:
|
||||||
arch = self.arch()
|
arch = self.arch()
|
||||||
return RpmQuery.filename(self.name(), None, self.version(), self.release(), arch)
|
return RpmQuery.filename(decode_it(self.name()), None, decode_it(self.version()), decode_it(self.release()), decode_it(arch))
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def query(filename):
|
def query(filename):
|
||||||
@@ -318,6 +322,8 @@ class RpmQuery(packagequery.PackageQuery, packagequery.PackageQueryResult):
|
|||||||
if ver1 == ver2:
|
if ver1 == ver2:
|
||||||
return 0
|
return 0
|
||||||
res = 0
|
res = 0
|
||||||
|
ver1 = decode_it(ver1)
|
||||||
|
ver2 = decode_it(ver2)
|
||||||
while res == 0:
|
while res == 0:
|
||||||
# remove all leading non alphanumeric or tilde chars
|
# remove all leading non alphanumeric or tilde chars
|
||||||
ver1 = re.sub('^[^a-zA-Z0-9~]*', '', ver1)
|
ver1 = re.sub('^[^a-zA-Z0-9~]*', '', ver1)
|
||||||
|
Reference in New Issue
Block a user