optimize fill_queue

This commit is contained in:
2021-06-01 16:47:13 +02:00
parent d007ea6bf7
commit e625fcc4fc
2 changed files with 13 additions and 15 deletions

View File

@@ -156,13 +156,9 @@ def find_all_files_for_pkg(name: str, repo: str) -> list:
for file in files:
res = regex_pkg_repo.findall(file)
for r in res:
if r == name:
if r == name and not file.endswith(".sig"):
pkgs.append(os.path.join(root, file))
for p in pkgs:
if p.endswith(".sig"):
pkgs.remove(p)
return pkgs
@@ -296,18 +292,20 @@ def fill_queue() -> None:
if parsed["pkgbase"] in get_failed_packages(repo):
logging.info("[%s/%s] Skipped due to failing build", repo, parsed["pkgbase"])
continue
ver = parse_pkgbuild_ver(parsed=parsed)
packages = list(parsed["packages"])
if package_exists(packages, repo):
logging.debug("[SEMVER] Comparing %s=%s - %s=%s", packages[0], parse_repo(packages[0], repo),
packages[0], parse_pkgbuild_ver(pkgbuild))
if not package_exists(packages, repo):
packages[0], ver)
rv = parse_repo(packages[0], repo)
if rv < ver:
q.put((pkgbuild, repo))
logging.info("[%s/%s] Build queued (new version available %s < %s)", repo, parsed["pkgbase"],
rv, ver)
else:
q.put((pkgbuild, repo))
logging.info("[%s/%s] Build queued (package not build yet)", repo, parsed["pkgbase"])
elif parse_repo(packages[0], repo) < parse_pkgbuild_ver(pkgbuild):
q.put((pkgbuild, repo))
logging.info("[%s/%s] Build queued (new version available %s < %s)", repo, parsed["pkgbase"],
parse_repo(packages[0], repo), parse_pkgbuild_ver(pkgbuild))
logging.info("Build queue size: %s", q.qsize())

View File

@@ -2,7 +2,6 @@ import logging
import os
import pathlib
import subprocess
import sys
from packaging.version import LegacyVersion
from srcinfo.parse import parse_srcinfo
@@ -42,8 +41,9 @@ def parse_pkgbuild(pkgbuild_file: str) -> dict:
return parsed
def parse_pkgbuild_ver(pkgbuild_file: str) -> LegacyVersion:
parsed = parse_pkgbuild(pkgbuild_file)
def parse_pkgbuild_ver(pkgbuild_file: str = None, parsed: dict = None) -> LegacyVersion:
if not parsed:
parsed = parse_pkgbuild(pkgbuild_file)
if "epoch" in parsed:
return LegacyVersion("{}:{}-{}".format(parsed["epoch"], parsed["pkgver"], parsed["pkgrel"]))
return LegacyVersion("{}-{}".format(parsed["pkgver"], parsed["pkgrel"]))