mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-08 14:24:15 +02:00
Merge branch 'ng' into catfeat
This commit is contained in:
@@ -7,6 +7,7 @@ from bauh.gems.arch.model import ArchPackage
|
|||||||
|
|
||||||
URL_PKG_DOWNLOAD = 'https://aur.archlinux.org/{}'
|
URL_PKG_DOWNLOAD = 'https://aur.archlinux.org/{}'
|
||||||
RE_LETTERS = re.compile(r'\.([a-zA-Z]+)-\d+$')
|
RE_LETTERS = re.compile(r'\.([a-zA-Z]+)-\d+$')
|
||||||
|
RE_ANY_LETTER = re.compile(r'[a-zA-Z]')
|
||||||
|
|
||||||
RE_SFX = ('r', 're', 'release')
|
RE_SFX = ('r', 're', 'release')
|
||||||
GA_SFX = ('ga', 'ge')
|
GA_SFX = ('ga', 'ge')
|
||||||
@@ -74,7 +75,33 @@ class ArchDataMapper:
|
|||||||
|
|
||||||
return nlatest > nversion
|
return nlatest > nversion
|
||||||
|
|
||||||
return latest_version > version
|
if not RE_ANY_LETTER.findall(latest_version) and not RE_ANY_LETTER.findall(version):
|
||||||
|
latest_no_rel = latest_version.split('-')
|
||||||
|
version_no_rel = version.split('-')
|
||||||
|
|
||||||
|
latest_split = latest_no_rel[0].split('.')
|
||||||
|
version_split = version_no_rel[0].split('.')
|
||||||
|
|
||||||
|
for idx in range(len(latest_split)):
|
||||||
|
if idx < len(version_split):
|
||||||
|
dif = int(latest_split[idx]) - int(version_split[idx])
|
||||||
|
|
||||||
|
if dif > 0:
|
||||||
|
return True
|
||||||
|
elif dif < 0:
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if len(latest_no_rel) > 1 and len(version_no_rel) > 1:
|
||||||
|
if not RE_ANY_LETTER.findall(latest_no_rel[1]) and not RE_ANY_LETTER.findall(version_no_rel[1]):
|
||||||
|
return int(latest_no_rel[1]) > int(version_no_rel[1])
|
||||||
|
else:
|
||||||
|
return latest_no_rel[1] > version_no_rel[1]
|
||||||
|
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
return latest_version > version
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,11 @@ class ArchDataMapperTest(TestCase):
|
|||||||
self.assertTrue(ArchDataMapper.check_update('1.5.1-1', '1.5.1-2'))
|
self.assertTrue(ArchDataMapper.check_update('1.5.1-1', '1.5.1-2'))
|
||||||
self.assertTrue(ArchDataMapper.check_update('1.5.1-1', '2.0.0-1'))
|
self.assertTrue(ArchDataMapper.check_update('1.5.1-1', '2.0.0-1'))
|
||||||
self.assertFalse(ArchDataMapper.check_update('2.0.0-1', '1.5.1-1'))
|
self.assertFalse(ArchDataMapper.check_update('2.0.0-1', '1.5.1-1'))
|
||||||
|
self.assertTrue(ArchDataMapper.check_update('77.0.3865.90-1', '77.0.3865.120-1'))
|
||||||
|
self.assertTrue(ArchDataMapper.check_update('77.0.3865.90-1', '77.0.3865.90-2'))
|
||||||
|
self.assertFalse(ArchDataMapper.check_update('77.0.3865.900-1', '77.0.3865.120-1'))
|
||||||
|
self.assertTrue(ArchDataMapper.check_update('77.0.3865.120-1', '77.0.3865.900-1'))
|
||||||
|
self.assertFalse(ArchDataMapper.check_update('77.0.3865.120-1', '77.0.3865.90-1'))
|
||||||
|
|
||||||
def test_check_update_no_suffix_3_x_2_digits(self):
|
def test_check_update_no_suffix_3_x_2_digits(self):
|
||||||
self.assertTrue(ArchDataMapper.check_update('1.0.0-1', '1.1-1'))
|
self.assertTrue(ArchDataMapper.check_update('1.0.0-1', '1.1-1'))
|
||||||
|
|||||||
Reference in New Issue
Block a user