Skip to content

Commit

Permalink
fix #157 @gh: better error messages
Browse files Browse the repository at this point in the history
  • Loading branch information
mbarkhau committed Mar 18, 2021
1 parent cfa1833 commit b7af1bb
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 11 deletions.
11 changes: 3 additions & 8 deletions src/bumpver/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,6 @@ def _validate_flags(


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 (
"MAJOR" in version_pattern and "MAJOR" in version_pattern and "PATCH" in version_pattern
)
Expand Down Expand Up @@ -541,7 +538,7 @@ def incr_dispatch(
logger.info("regex = " + regexfmt.pyexpr_regex(pattern.regexp.pattern))

if has_v1_part:
new_version = v1version.incr(
return v1version.incr(
old_version,
raw_pattern=raw_pattern,
major=major,
Expand All @@ -553,7 +550,7 @@ def incr_dispatch(
date=date,
)
else:
new_version = v2version.incr(
return v2version.incr(
old_version,
raw_pattern=raw_pattern,
major=major,
Expand All @@ -565,8 +562,6 @@ def incr_dispatch(
date=date,
)

return new_version


def _update(
cfg : config.Config,
Expand Down Expand Up @@ -715,7 +710,7 @@ def update(
_, cfg = config.init(project_path=".")

if cfg is None:
logger.error("Could not parse configuration. Perhaps try 'bumpver init'.")
logger.error("Could not parse configuration.")
sys.exit(1)

cfg = _update_cfg_from_vcs(cfg, fetch)
Expand Down
16 changes: 16 additions & 0 deletions src/bumpver/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ def _parse_cfg(cfg_buffer: typ.IO[str]) -> RawConfig:
elif cfg_parser.has_section("bumpver"):
raw_cfg = dict(cfg_parser.items("bumpver"))
else:
logger.warning("Perhaps try 'bumpver init'.")
raise ValueError("Missing [bumpver] section.")

for option, default_val in BOOL_OPTIONS.items():
Expand Down Expand Up @@ -286,6 +287,21 @@ def _compile_v2_file_patterns(raw_cfg: RawConfig) -> typ.Iterable[FilePatternsIt
raw_patterns_by_file: RawPatternsByFile = raw_cfg['file_patterns']

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)
yield filepath, compiled_patterns

Expand Down
3 changes: 0 additions & 3 deletions src/bumpver/v2patterns.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,11 @@

import re
import typing as typ
import logging

from . import utils
from .patterns import RE_PATTERN_ESCAPES
from .patterns import Pattern

logger = logging.getLogger("bumpver.v2patterns")

# 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:
#
Expand Down
1 change: 1 addition & 0 deletions src/bumpver/v2version.py
Original file line number Diff line number Diff line change
Expand Up @@ -743,6 +743,7 @@ def incr(
try:
old_vinfo = parse_version_info(old_version, raw_pattern)
except version.PatternError as ex:
logger.error(f"Invalid version '{old_version}' and/or pattern '{raw_pattern}'")
logger.error(str(ex))
return None

Expand Down

0 comments on commit b7af1bb

Please sign in to comment.