euscan: move version type helpers to euscan.version
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
This commit is contained in:
@ -33,27 +33,6 @@ VERSION_CMP_PACKAGE_QUIRKS = {
|
||||
_v_end = '((-|_)(pre|p|beta|b|alpha|a|rc|r)\d*)'
|
||||
_v = r'((\d+)((\.\d+)*)([a-zA-Z]*?)(' + _v_end + '*))'
|
||||
|
||||
|
||||
def is_version_stable(version):
|
||||
return is_version_type_stable(get_version_type(version))
|
||||
|
||||
|
||||
def is_version_type_stable(version_type):
|
||||
return version_type not in ("alpha", "beta", "pre", "rc")
|
||||
|
||||
|
||||
def get_version_type(version):
|
||||
types = []
|
||||
gentoo_types = ("alpha", "beta", "pre", "rc", "p")
|
||||
|
||||
for token in re.findall("[\._-]([a-zA-Z]+)", version):
|
||||
if token in gentoo_types:
|
||||
types.append(token)
|
||||
if types:
|
||||
return types[0] # TODO: consider returning all types
|
||||
return "release"
|
||||
|
||||
|
||||
# Stolen from g-pypi
|
||||
def gentoo_mangle_version(up_pv):
|
||||
"""Convert PV to MY_PV if needed
|
||||
|
@ -170,7 +170,7 @@ class EuscanOutput(object):
|
||||
raise TypeError("Invalid output format")
|
||||
|
||||
def result(self, cp, version, urls, handler, confidence):
|
||||
from euscan.helpers import get_version_type
|
||||
from euscan.version import get_version_type
|
||||
|
||||
cpv = '%s-%s' % (cp, version)
|
||||
urls = ' '.join(transform_url(self.config, cpv, url) for url in urls.split())
|
||||
|
@ -13,7 +13,8 @@ from gentoolkit.package import Package
|
||||
|
||||
from euscan import CONFIG, BLACKLIST_PACKAGES
|
||||
from euscan import handlers, output
|
||||
from euscan.helpers import version_blacklisted, is_version_stable
|
||||
from euscan.helpers import version_blacklisted,
|
||||
from euscan.version import is_version_stable
|
||||
from euscan.ebuild import package_from_ebuild
|
||||
|
||||
|
||||
|
@ -1,5 +1,22 @@
|
||||
import re
|
||||
|
||||
def is_version_type_stable(version_type):
|
||||
return version_type not in ("alpha", "beta", "pre", "rc")
|
||||
|
||||
def is_version_stable(version):
|
||||
return is_version_type_stable(get_version_type(version))
|
||||
|
||||
def get_version_type(version):
|
||||
types = []
|
||||
gentoo_types = ("alpha", "beta", "pre", "rc", "p")
|
||||
|
||||
for token in re.findall("[\._-]([a-zA-Z]+)", version):
|
||||
if token in gentoo_types:
|
||||
types.append(token)
|
||||
if types:
|
||||
return types[0] # TODO: consider returning all types
|
||||
return "release"
|
||||
|
||||
# Stolen from pkg_resources, but importing it is not a good idea
|
||||
|
||||
component_re = re.compile(r'(\d+ | [a-z]+ | \.| -)', re.VERBOSE)
|
||||
|
Reference in New Issue
Block a user