当前位置: 首页>>代码示例>>Python>>正文


Python version.LegacyVersion方法代码示例

本文整理汇总了Python中packaging.version.LegacyVersion方法的典型用法代码示例。如果您正苦于以下问题:Python version.LegacyVersion方法的具体用法?Python version.LegacyVersion怎么用?Python version.LegacyVersion使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在packaging.version的用法示例。


在下文中一共展示了version.LegacyVersion方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: msvc14_gen_lib_options

# 需要导入模块: from packaging import version [as 别名]
# 或者: from packaging.version import LegacyVersion [as 别名]
def msvc14_gen_lib_options(*args, **kwargs):
    """
    Patched "distutils._msvccompiler.gen_lib_options" for fix
    compatibility between "numpy.distutils" and "distutils._msvccompiler"
    (for Numpy < 1.11.2)
    """
    if "numpy.distutils" in sys.modules:
        import numpy as np
        if LegacyVersion(np.__version__) < LegacyVersion('1.11.2'):
            return np.distutils.ccompiler.gen_lib_options(*args, **kwargs)
    return get_unpatched(msvc14_gen_lib_options)(*args, **kwargs) 
开发者ID:proxysh,项目名称:Safejumper-for-Desktop,代码行数:13,代码来源:msvc.py

示例2: parse_other

# 需要导入模块: from packaging import version [as 别名]
# 或者: from packaging.version import LegacyVersion [as 别名]
def parse_other(self, other):
        if other is None:
            other = LegacyVersion('')
        elif not isinstance(other, (Version, LegacyVersion)):
            other = parse_version(other)

        return other 
开发者ID:AnyBlok,项目名称:AnyBlok,代码行数:9,代码来源:version.py

示例3: _islegacy_devversion

# 需要导入模块: from packaging import version [as 别名]
# 或者: from packaging.version import LegacyVersion [as 别名]
def _islegacy_devversion(self):
        return isinstance(self.version, LegacyVersion) and \
            ("~beta" or "~alpha" in self.version) 
开发者ID:xbmc,项目名称:addon-check,代码行数:5,代码来源:versions.py

示例4: find_matching_cpe_product

# 需要导入模块: from packaging import version [as 别名]
# 或者: from packaging.version import LegacyVersion [as 别名]
def find_matching_cpe_product(cpe_matches: List[Product], requested_version: str) -> Product:
    if requested_version.isdigit() or is_valid_dotted_version(requested_version):
        version_numbers = [t.version_number for t in cpe_matches]
        if requested_version in version_numbers:
            return find_cpe_product_with_version(cpe_matches, requested_version)
        version_numbers.append(requested_version)
        version_numbers.sort(key=lambda v: LegacyVersion(parse(v)))
        next_closest_version = find_next_closest_version(version_numbers, requested_version)
        return find_cpe_product_with_version(cpe_matches, next_closest_version)
    if requested_version == 'ANY':
        return find_cpe_product_with_version(cpe_matches, 'ANY')
    logging.warning('Version returned from CPE match has invalid type. Returned CPE might not contain relevant version number')
    return cpe_matches[0] 
开发者ID:fkie-cad,项目名称:FACT_core,代码行数:15,代码来源:cve_lookup.py

示例5: get_base_release

# 需要导入模块: from packaging import version [as 别名]
# 或者: from packaging.version import LegacyVersion [as 别名]
def get_base_release(full_ver):
        # if LegacyVersion, converting manually to a base version
        if isinstance(full_ver, version.LegacyVersion):
            return version.parse(".".join(full_ver._version.split(".")[:2]))
        return version.parse(".".join(map(str, full_ver._version.release[:2]))) 
开发者ID:aquasecurity,项目名称:kube-hunter,代码行数:7,代码来源:cves.py

示例6: to_legacy

# 需要导入模块: from packaging import version [as 别名]
# 或者: from packaging.version import LegacyVersion [as 别名]
def to_legacy(full_ver):
        # converting version to version.LegacyVersion
        return version.LegacyVersion(".".join(map(str, full_ver._version.release))) 
开发者ID:aquasecurity,项目名称:kube-hunter,代码行数:5,代码来源:cves.py

示例7: to_raw_version

# 需要导入模块: from packaging import version [as 别名]
# 或者: from packaging.version import LegacyVersion [as 别名]
def to_raw_version(v):
        if not isinstance(v, version.LegacyVersion):
            return ".".join(map(str, v._version.release))
        return v._version 
开发者ID:aquasecurity,项目名称:kube-hunter,代码行数:6,代码来源:cves.py

示例8: version_compare

# 需要导入模块: from packaging import version [as 别名]
# 或者: from packaging.version import LegacyVersion [as 别名]
def version_compare(v1, v2):
        """Function compares two versions, handling differences with conversion to LegacyVersion"""
        # getting raw version, while striping 'v' char at the start. if exists.
        # removing this char lets us safely compare the two version.
        v1_raw = CveUtils.to_raw_version(v1).strip("v")
        v2_raw = CveUtils.to_raw_version(v2).strip("v")
        new_v1 = version.LegacyVersion(v1_raw)
        new_v2 = version.LegacyVersion(v2_raw)

        return CveUtils.basic_compare(new_v1, new_v2) 
开发者ID:aquasecurity,项目名称:kube-hunter,代码行数:12,代码来源:cves.py

示例9: is_vulnerable

# 需要导入模块: from packaging import version [as 别名]
# 或者: from packaging.version import LegacyVersion [as 别名]
def is_vulnerable(fix_versions, check_version, ignore_downstream=False):
        """Function determines if a version is vulnerable,
        by comparing to given fix versions by base release"""
        if ignore_downstream and CveUtils.is_downstream_version(check_version):
            return False

        vulnerable = False
        check_v = version.parse(check_version)
        base_check_v = CveUtils.get_base_release(check_v)

        # default to classic compare, unless the check_version is legacy.
        version_compare_func = CveUtils.basic_compare
        if isinstance(check_v, version.LegacyVersion):
            version_compare_func = CveUtils.version_compare

        if check_version not in fix_versions:
            # comparing ease base release for a fix
            for fix_v in fix_versions:
                fix_v = version.parse(fix_v)
                base_fix_v = CveUtils.get_base_release(fix_v)

                # if the check version and the current fix has the same base release
                if base_check_v == base_fix_v:
                    # when check_version is legacy, we use a custom compare func, to handle differences between versions
                    if version_compare_func(check_v, fix_v) == -1:
                        # determine vulnerable if smaller and with same base version
                        vulnerable = True
                        break

        # if we did't find a fix in the fix releases, checking if the version is smaller that the first fix
        if not vulnerable and version_compare_func(check_v, version.parse(fix_versions[0])) == -1:
            vulnerable = True

        return vulnerable 
开发者ID:aquasecurity,项目名称:kube-hunter,代码行数:36,代码来源:cves.py

示例10: parse_python_version

# 需要导入模块: from packaging import version [as 别名]
# 或者: from packaging.version import LegacyVersion [as 别名]
def parse_python_version(version_str):
    # type: (str) -> Dict[str, Union[str, int, Version]]
    from packaging.version import parse as parse_version

    is_debug = False
    if version_str.endswith("-debug"):
        is_debug = True
        version_str, _, _ = version_str.rpartition("-")
    match = version_re.match(version_str)
    if not match:
        raise InvalidPythonVersion("%s is not a python version" % version_str)
    version_dict = match.groupdict()  # type: Dict[str, str]
    major = int(version_dict.get("major", 0)) if version_dict.get("major") else None
    minor = int(version_dict.get("minor", 0)) if version_dict.get("minor") else None
    patch = int(version_dict.get("patch", 0)) if version_dict.get("patch") else None
    is_postrelease = True if version_dict.get("post") else False
    is_prerelease = True if version_dict.get("prerel") else False
    is_devrelease = True if version_dict.get("dev") else False
    if patch:
        patch = int(patch)
    version = None  # type: Optional[Union[Version, LegacyVersion]]
    try:
        version = parse_version(version_str)
    except TypeError:
        version = None
    if isinstance(version, LegacyVersion) or version is None:
        v_dict = version_dict.copy()
        pre = ""
        if v_dict.get("prerel") and v_dict.get("prerelversion"):
            pre = v_dict.pop("prerel")
            pre = "{0}{1}".format(pre, v_dict.pop("prerelversion"))
        v_dict["pre"] = pre
        keys = ["major", "minor", "patch", "pre", "postdev", "post", "dev"]
        values = [v_dict.get(val) for val in keys]
        version_str = ".".join([str(v) for v in values if v])
        version = parse_version(version_str)
    return {
        "major": major,
        "minor": minor,
        "patch": patch,
        "is_postrelease": is_postrelease,
        "is_prerelease": is_prerelease,
        "is_devrelease": is_devrelease,
        "is_debug": is_debug,
        "version": version,
    } 
开发者ID:sarugaku,项目名称:pythonfinder,代码行数:48,代码来源:utils.py

示例11: check_tool_version

# 需要导入模块: from packaging import version [as 别名]
# 或者: from packaging.version import LegacyVersion [as 别名]
def check_tool_version(tool, required_version, blacklisted_versions=None, binary=False):
    """
    This will ensure that the required_version of `tool` is at least `required_version`.
    :param str tool: The tool under review
    :param str required_version: The version of the tool required by ProTECT
    :param list blacklisted_versions: Version of the tool blacklisted by ProTECT
    :param bool binary: Is the tool a binary
    :return: None
    """
    if binary:
        try:
            installed_version = subprocess.check_output([tool, '--version'],
                                                        stderr=subprocess.STDOUT)
        except OSError as err:
            if err.errno == errno.ENOENT:
                raise RuntimeError('Is %s installed as a binary and present on your $PATH?' % tool)
            else:
                raise
        installed_version = installed_version.rstrip()
    else:
        try:
            module = __import__(tool + '.version')
        except ImportError:
            raise RuntimeError('Is %s installed as a library, and is it accessible in the same '
                               'environment as ProTECT?' % tool)
        try:
            installed_version = getattr(module, 'version').version
        except AttributeError:
            raise RuntimeError('Does %s have a version.py?' % tool)

    if type(parse_version(installed_version)) == _LegacyVersion:
        print('Detecting that the installed version of "%s"(%s) is probably based off a git commit '
              'and assuming this build is for testing purposes.  If this is not the case, please '
              'try again with a valid version of "%s".' % (tool, installed_version, tool))
    elif parse_version(installed_version) < parse_version(required_version):
        raise RuntimeError('%s was detected to be version (%s) but ProTECT requires (%s)' %
                           (tool, installed_version, required_version))
    if blacklisted_versions is not None:
        if parse_version(installed_version) in [parse_version(v) for v in blacklisted_versions]:
            raise RuntimeError('The version of %s was detected to be on the a blacklist (%s).' %
                               (tool, installed_version))


# Check Toil version 
开发者ID:BD2KGenomics,项目名称:protect,代码行数:46,代码来源:setup.py


注:本文中的packaging.version.LegacyVersion方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。