mirror of
https://github.com/TECHNOFAB11/bumpver.git
synced 2025-12-12 22:40:09 +01:00
WIP: more testing
This commit is contained in:
parent
5108837f45
commit
0a3638a62f
6 changed files with 94 additions and 7 deletions
|
|
@ -32,8 +32,8 @@ class Config(typ.NamedTuple):
|
|||
MaybeConfig = typ.Optional[Config]
|
||||
|
||||
|
||||
def _parse_buffer(cfg_buffer: io.StringIO) -> MaybeConfig:
|
||||
cfg_parser = configparser.RawConfigParser("")
|
||||
def parse_buffer(cfg_buffer: io.StringIO) -> MaybeConfig:
|
||||
cfg_parser = configparser.RawConfigParser()
|
||||
cfg_parser.readfp(cfg_buffer)
|
||||
|
||||
if "pycalver" not in cfg_parser:
|
||||
|
|
@ -99,7 +99,7 @@ def parse(config_file="setup.cfg") -> MaybeConfig:
|
|||
cfg_buffer.write(fh.read())
|
||||
|
||||
cfg_buffer.seek(0)
|
||||
return _parse_buffer(cfg_buffer)
|
||||
return parse_buffer(cfg_buffer)
|
||||
|
||||
|
||||
def default_config_lines() -> typ.List[str]:
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ VALID_RELESE_VALUES = ("alpha", "beta", "dev", "rc", "post")
|
|||
|
||||
|
||||
# https://regex101.com/r/fnj60p/10
|
||||
PYCALVER_RE: typ.re.Pattern[str] = re.compile(r"""
|
||||
PYCALVER_RE: typ.Pattern[str] = re.compile(r"""
|
||||
\b
|
||||
(?P<version>
|
||||
(?P<calver>
|
||||
|
|
@ -75,6 +75,8 @@ class VersionInfo(typ.NamedTuple):
|
|||
|
||||
def parse_version_info(version: str) -> VersionInfo:
|
||||
match = PYCALVER_RE.match(version)
|
||||
if match is None:
|
||||
raise ValueError(f"Invalid pycalver: {version}")
|
||||
pep440_version = str(pkg_resources.parse_version(version))
|
||||
return VersionInfo(pep440_version=pep440_version, **match.groupdict())
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ log = logging.getLogger("pycalver.rewrite")
|
|||
|
||||
def rewrite(
|
||||
new_version: str,
|
||||
file_patterns: typ.Dict[str, str],
|
||||
file_patterns: typ.Dict[str, typ.List[str]],
|
||||
dry=False,
|
||||
verbose=False,
|
||||
) -> None:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
|
||||
import logging
|
||||
import typing as typ
|
||||
import datetime as dt
|
||||
|
||||
from . import lex_id
|
||||
|
|
@ -34,6 +35,8 @@ def bump(old_version: str, *, release: str=None) -> str:
|
|||
new_calver = old_ver.calver
|
||||
|
||||
new_build = lex_id.next_id(old_ver.build[1:])
|
||||
new_release: typ.Optional[str] = None
|
||||
|
||||
if release is None:
|
||||
if old_ver.release:
|
||||
# preserve existing release
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue