mirror of
https://github.com/TECHNOFAB11/bumpver.git
synced 2025-12-12 06:20:08 +01:00
lazy import pkg_resources for faster cli
This commit is contained in:
parent
8f437ef9c7
commit
92213162c2
2 changed files with 10 additions and 6 deletions
|
|
@ -14,7 +14,6 @@ import subprocess as sp
|
||||||
|
|
||||||
import click
|
import click
|
||||||
import colorama
|
import colorama
|
||||||
import pkg_resources
|
|
||||||
|
|
||||||
from . import vcs
|
from . import vcs
|
||||||
from . import config
|
from . import config
|
||||||
|
|
@ -509,7 +508,7 @@ def _is_valid_version(raw_pattern: str, old_version: str, new_version: str) -> b
|
||||||
logger.error(f"Invalid version '{new_version}' for pattern '{raw_pattern}'")
|
logger.error(f"Invalid version '{new_version}' for pattern '{raw_pattern}'")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if pkg_resources.parse_version(new_version) <= pkg_resources.parse_version(old_version):
|
if version.parse_version(new_version) <= version.parse_version(old_version):
|
||||||
logger.error("Invariant violated: New version must be greater than old version ")
|
logger.error("Invariant violated: New version must be greater than old version ")
|
||||||
logger.error(f" Failed Invariant: '{new_version}' > '{old_version}'")
|
logger.error(f" Failed Invariant: '{new_version}' > '{old_version}'")
|
||||||
return False
|
return False
|
||||||
|
|
@ -651,7 +650,7 @@ def get_latest_vcs_version_tag(cfg: config.Config, fetch: bool) -> typ.Optional[
|
||||||
version_tags = [tag for tag in all_tags if v1version.is_valid(tag, cfg.version_pattern)]
|
version_tags = [tag for tag in all_tags if v1version.is_valid(tag, cfg.version_pattern)]
|
||||||
|
|
||||||
if version_tags:
|
if version_tags:
|
||||||
version_tags.sort(key=pkg_resources.parse_version, reverse=True)
|
version_tags.sort(key=version.parse_version, reverse=True)
|
||||||
_debug_tags = ", ".join(version_tags[:3])
|
_debug_tags = ", ".join(version_tags[:3])
|
||||||
logger.debug(f"found tags: {_debug_tags} ... ({len(version_tags)} in total)")
|
logger.debug(f"found tags: {_debug_tags} ... ({len(version_tags)} in total)")
|
||||||
return version_tags[0]
|
return version_tags[0]
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,16 @@
|
||||||
import typing as typ
|
import typing as typ
|
||||||
import datetime as dt
|
import datetime as dt
|
||||||
|
|
||||||
import pkg_resources
|
|
||||||
|
|
||||||
MaybeInt = typ.Optional[int]
|
MaybeInt = typ.Optional[int]
|
||||||
|
|
||||||
|
|
||||||
|
def parse_version(version: str) -> typ.Any:
|
||||||
|
# pylint: disable=import-outside-toplevel; lazy import to speed up --help
|
||||||
|
import pkg_resources
|
||||||
|
|
||||||
|
return pkg_resources.parse_version(version)
|
||||||
|
|
||||||
|
|
||||||
class V1CalendarInfo(typ.NamedTuple):
|
class V1CalendarInfo(typ.NamedTuple):
|
||||||
"""Container for calendar components of version strings."""
|
"""Container for calendar components of version strings."""
|
||||||
|
|
||||||
|
|
@ -171,4 +176,4 @@ def to_pep440(version: str) -> str:
|
||||||
>>> to_pep440("v201811.0007-beta")
|
>>> to_pep440("v201811.0007-beta")
|
||||||
'201811.7b0'
|
'201811.7b0'
|
||||||
"""
|
"""
|
||||||
return str(pkg_resources.parse_version(version))
|
return str(parse_version(version))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue