Merge branch 'staging' into ng

# Conflicts:
#	CHANGELOG.md
#	bauh/__init__.py
This commit is contained in:
Vinicius Moreira
2019-10-11 12:04:48 -03:00
6 changed files with 40 additions and 38 deletions

View File

@@ -8,6 +8,7 @@ from bauh.gems.arch.model import ArchPackage
URL_PKG_DOWNLOAD = 'https://aur.archlinux.org/{}'
RE_LETTERS = re.compile(r'\.([a-zA-Z]+)-\d+$')
RE_ANY_LETTER = re.compile(r'[a-zA-Z]')
RE_VERSION_DELS = re.compile(r'[.:#@\-_]')
RE_SFX = ('r', 're', 'release')
GA_SFX = ('ga', 'ge')
@@ -75,34 +76,26 @@ class ArchDataMapper:
return nlatest > nversion
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 = RE_VERSION_DELS.split(latest_version)
version_split = RE_VERSION_DELS.split(version)
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):
latest_part = latest_split[idx]
version_part = version_split[idx]
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
if latest_part != version_part:
if RE_ANY_LETTER.findall(latest_part) or RE_ANY_LETTER.findall(version_part):
return latest_part > version_part
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
dif = int(latest_part) - int(version_part)
if dif > 0:
return True
elif dif < 0:
return False
else:
continue
return False
def fill_package_build(self, pkg: ArchPackage):

View File

@@ -25,25 +25,28 @@ def load_managers(locale: str, context: ApplicationContext, config: Configuratio
for f in os.scandir(ROOT_DIR + '/gems'):
if f.is_dir() and f.name != '__pycache__':
module = pkgutil.find_loader('bauh.gems.{}.controller'.format(f.name)).load_module()
loader = pkgutil.find_loader('bauh.gems.{}.controller'.format(f.name))
manager_class = find_manager(module)
if loader:
module = loader.load_module()
if manager_class:
if locale:
locale_path = '{}/resources/locale'.format(f.path)
manager_class = find_manager(module)
if os.path.exists(locale_path):
context.i18n.update(util.get_locale_keys(locale, locale_path)[1])
if manager_class:
if locale:
locale_path = '{}/resources/locale'.format(f.path)
man = manager_class(context=context)
if os.path.exists(locale_path):
context.i18n.update(util.get_locale_keys(locale, locale_path)[1])
if config.enabled_gems is None:
man.set_enabled(man.is_default_enabled())
else:
man.set_enabled(f.name in config.enabled_gems)
man = manager_class(context=context)
managers.append(man)
if config.enabled_gems is None:
man.set_enabled(man.is_default_enabled())
else:
man.set_enabled(f.name in config.enabled_gems)
managers.append(man)
return managers

View File

@@ -303,7 +303,7 @@ class AppsTable(QTableWidget):
label_version.setStyleSheet("color: #20A435; font-weight: bold")
tooltip = self.i18n['version.installed_outdated']
if pkg.model.installed and pkg.model.update and pkg.model.version and pkg.model.latest_version and pkg.model.version < pkg.model.latest_version:
if pkg.model.installed and pkg.model.update and pkg.model.version and pkg.model.latest_version and pkg.model.version != pkg.model.latest_version:
tooltip = '{}. {}: {}'.format(tooltip, self.i18n['version.latest'], pkg.model.latest_version)
label_version.setText(label_version.text() + ' > {}'.format(pkg.model.latest_version))