mirror of
https://github.com/TECHNOFAB11/bumpver.git
synced 2025-12-12 22:40:09 +01:00
fix #157 @gh: better error messages
This commit is contained in:
parent
cfa18334c5
commit
b7af1bbe55
4 changed files with 20 additions and 11 deletions
|
|
@ -125,9 +125,6 @@ def _validate_flags(
|
||||||
|
|
||||||
|
|
||||||
def _log_no_change(subcmd: str, version_pattern: str, old_version: str) -> None:
|
def _log_no_change(subcmd: str, version_pattern: str, old_version: str) -> None:
|
||||||
msg = f"Invalid version '{old_version}' and/or pattern '{version_pattern}'."
|
|
||||||
logger.error(msg)
|
|
||||||
|
|
||||||
is_semver = "{semver}" in version_pattern or (
|
is_semver = "{semver}" in version_pattern or (
|
||||||
"MAJOR" in version_pattern and "MAJOR" in version_pattern and "PATCH" in version_pattern
|
"MAJOR" in version_pattern and "MAJOR" in version_pattern and "PATCH" in version_pattern
|
||||||
)
|
)
|
||||||
|
|
@ -541,7 +538,7 @@ def incr_dispatch(
|
||||||
logger.info("regex = " + regexfmt.pyexpr_regex(pattern.regexp.pattern))
|
logger.info("regex = " + regexfmt.pyexpr_regex(pattern.regexp.pattern))
|
||||||
|
|
||||||
if has_v1_part:
|
if has_v1_part:
|
||||||
new_version = v1version.incr(
|
return v1version.incr(
|
||||||
old_version,
|
old_version,
|
||||||
raw_pattern=raw_pattern,
|
raw_pattern=raw_pattern,
|
||||||
major=major,
|
major=major,
|
||||||
|
|
@ -553,7 +550,7 @@ def incr_dispatch(
|
||||||
date=date,
|
date=date,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
new_version = v2version.incr(
|
return v2version.incr(
|
||||||
old_version,
|
old_version,
|
||||||
raw_pattern=raw_pattern,
|
raw_pattern=raw_pattern,
|
||||||
major=major,
|
major=major,
|
||||||
|
|
@ -565,8 +562,6 @@ def incr_dispatch(
|
||||||
date=date,
|
date=date,
|
||||||
)
|
)
|
||||||
|
|
||||||
return new_version
|
|
||||||
|
|
||||||
|
|
||||||
def _update(
|
def _update(
|
||||||
cfg : config.Config,
|
cfg : config.Config,
|
||||||
|
|
@ -715,7 +710,7 @@ def update(
|
||||||
_, cfg = config.init(project_path=".")
|
_, cfg = config.init(project_path=".")
|
||||||
|
|
||||||
if cfg is None:
|
if cfg is None:
|
||||||
logger.error("Could not parse configuration. Perhaps try 'bumpver init'.")
|
logger.error("Could not parse configuration.")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
cfg = _update_cfg_from_vcs(cfg, fetch)
|
cfg = _update_cfg_from_vcs(cfg, fetch)
|
||||||
|
|
|
||||||
|
|
@ -211,6 +211,7 @@ def _parse_cfg(cfg_buffer: typ.IO[str]) -> RawConfig:
|
||||||
elif cfg_parser.has_section("bumpver"):
|
elif cfg_parser.has_section("bumpver"):
|
||||||
raw_cfg = dict(cfg_parser.items("bumpver"))
|
raw_cfg = dict(cfg_parser.items("bumpver"))
|
||||||
else:
|
else:
|
||||||
|
logger.warning("Perhaps try 'bumpver init'.")
|
||||||
raise ValueError("Missing [bumpver] section.")
|
raise ValueError("Missing [bumpver] section.")
|
||||||
|
|
||||||
for option, default_val in BOOL_OPTIONS.items():
|
for option, default_val in BOOL_OPTIONS.items():
|
||||||
|
|
@ -286,6 +287,21 @@ def _compile_v2_file_patterns(raw_cfg: RawConfig) -> typ.Iterable[FilePatternsIt
|
||||||
raw_patterns_by_file: RawPatternsByFile = raw_cfg['file_patterns']
|
raw_patterns_by_file: RawPatternsByFile = raw_cfg['file_patterns']
|
||||||
|
|
||||||
for filepath, raw_patterns in _iter_glob_expanded_file_patterns(raw_patterns_by_file):
|
for filepath, raw_patterns in _iter_glob_expanded_file_patterns(raw_patterns_by_file):
|
||||||
|
for raw_pattern in raw_patterns:
|
||||||
|
if raw_pattern.startswith("["):
|
||||||
|
errmsg = (
|
||||||
|
f"Invalid pattern {raw_pattern} for {filepath}. "
|
||||||
|
+ "Character not valid in this position '[' "
|
||||||
|
)
|
||||||
|
raise ValueError(errmsg)
|
||||||
|
|
||||||
|
# provoke error for specifc pattern
|
||||||
|
try:
|
||||||
|
v2patterns.compile_pattern(version_pattern, raw_pattern)
|
||||||
|
except re.error:
|
||||||
|
logger.warning(f"Invalid patterns for {filepath} ({raw_pattern})")
|
||||||
|
raise
|
||||||
|
|
||||||
compiled_patterns = v2patterns.compile_patterns(version_pattern, raw_patterns)
|
compiled_patterns = v2patterns.compile_patterns(version_pattern, raw_patterns)
|
||||||
yield filepath, compiled_patterns
|
yield filepath, compiled_patterns
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,14 +31,11 @@
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import typing as typ
|
import typing as typ
|
||||||
import logging
|
|
||||||
|
|
||||||
from . import utils
|
from . import utils
|
||||||
from .patterns import RE_PATTERN_ESCAPES
|
from .patterns import RE_PATTERN_ESCAPES
|
||||||
from .patterns import Pattern
|
from .patterns import Pattern
|
||||||
|
|
||||||
logger = logging.getLogger("bumpver.v2patterns")
|
|
||||||
|
|
||||||
# NOTE (mb 2020-09-17): For patterns with different options '(AAA|BB|C)', the
|
# NOTE (mb 2020-09-17): For patterns with different options '(AAA|BB|C)', the
|
||||||
# patterns with more digits should be first/left of those with fewer digits:
|
# patterns with more digits should be first/left of those with fewer digits:
|
||||||
#
|
#
|
||||||
|
|
|
||||||
|
|
@ -743,6 +743,7 @@ def incr(
|
||||||
try:
|
try:
|
||||||
old_vinfo = parse_version_info(old_version, raw_pattern)
|
old_vinfo = parse_version_info(old_version, raw_pattern)
|
||||||
except version.PatternError as ex:
|
except version.PatternError as ex:
|
||||||
|
logger.error(f"Invalid version '{old_version}' and/or pattern '{raw_pattern}'")
|
||||||
logger.error(str(ex))
|
logger.error(str(ex))
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue