mirror of
https://github.com/TECHNOFAB11/bumpver.git
synced 2025-12-11 22:10:09 +01:00
fix handling of pep440 with epoch, e.g. '1!2.3'
This commit is contained in:
parent
0f21c5dac9
commit
28dcbf7f8a
3 changed files with 20 additions and 1 deletions
|
|
@ -17,6 +17,7 @@ RE_PATTERN_ESCAPES = [
|
||||||
("\u005c", "\u005c\u005c"),
|
("\u005c", "\u005c\u005c"),
|
||||||
("-" , "\u005c-"),
|
("-" , "\u005c-"),
|
||||||
("." , "\u005c."),
|
("." , "\u005c."),
|
||||||
|
("!" , "\u005c!"),
|
||||||
("+" , "\u005c+"),
|
("+" , "\u005c+"),
|
||||||
("*" , "\u005c*"),
|
("*" , "\u005c*"),
|
||||||
("?" , "\u005c?"),
|
("?" , "\u005c?"),
|
||||||
|
|
|
||||||
|
|
@ -239,7 +239,7 @@ def _convert_to_pep440(version_pattern: str) -> str:
|
||||||
pep440_pattern = pep440_pattern.replace(r"\[", "")
|
pep440_pattern = pep440_pattern.replace(r"\[", "")
|
||||||
pep440_pattern = pep440_pattern.replace(r"\]", "")
|
pep440_pattern = pep440_pattern.replace(r"\]", "")
|
||||||
|
|
||||||
pep440_pattern, _ = re.subn(r"[^a-zA-Z0-9\.\[\]]", "", pep440_pattern)
|
pep440_pattern, _ = re.subn(r"[^a-zA-Z0-9\.\!\[\]]", "", pep440_pattern)
|
||||||
|
|
||||||
part_names = list(PATTERN_PART_FIELDS.keys())
|
part_names = list(PATTERN_PART_FIELDS.keys())
|
||||||
part_names.sort(key=len, reverse=True)
|
part_names.sort(key=len, reverse=True)
|
||||||
|
|
|
||||||
|
|
@ -251,6 +251,24 @@ def test_v2_patterns(pattern_str, line, expected):
|
||||||
assert result_val == expected, (pattern_str, line, pattern.regexp.pattern)
|
assert result_val == expected, (pattern_str, line, pattern.regexp.pattern)
|
||||||
|
|
||||||
|
|
||||||
|
def test_epoch_pattern():
|
||||||
|
raw_pattern = v2patterns.normalize_pattern("v1!MAJOR.MINOR.PATCH", "{version}")
|
||||||
|
pattern = v2patterns.compile_pattern(raw_pattern)
|
||||||
|
|
||||||
|
result = pattern.regexp.search('current_version = "v1!2.1.5"')
|
||||||
|
result_val = None if result is None else result.group(0)
|
||||||
|
assert result_val == "v1!2.1.5"
|
||||||
|
|
||||||
|
|
||||||
|
def test_epoch_pep440_pattern():
|
||||||
|
raw_pep440_pattern = v2patterns.normalize_pattern("v1!MAJOR.MINOR.PATCH", "{pep440_version}")
|
||||||
|
pep440_pattern = v2patterns.compile_pattern(raw_pep440_pattern)
|
||||||
|
|
||||||
|
result = pep440_pattern.regexp.search('version = "1!2.1.5"')
|
||||||
|
result_val = None if result is None else result.group(0)
|
||||||
|
assert result_val == "1!2.1.5"
|
||||||
|
|
||||||
|
|
||||||
CLI_MAIN_FIXTURE = """
|
CLI_MAIN_FIXTURE = """
|
||||||
@click.group()
|
@click.group()
|
||||||
@click.version_option(version="v201812.0123-beta")
|
@click.version_option(version="v201812.0123-beta")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue