From ae07728a5b59a1f94187c88dede02d0b05ca7f70 Mon Sep 17 00:00:00 2001 From: Manuel Barkhau Date: Fri, 14 Oct 2022 17:10:37 +0000 Subject: [PATCH] py27 compat fix --- src/bumpver/v2patterns.py | 73 ++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 35 deletions(-) diff --git a/src/bumpver/v2patterns.py b/src/bumpver/v2patterns.py index d3b74e9..4758440 100644 --- a/src/bumpver/v2patterns.py +++ b/src/bumpver/v2patterns.py @@ -31,6 +31,7 @@ import re import typing as typ +import collections from . import utils from .patterns import RE_PATTERN_ESCAPES @@ -52,41 +53,43 @@ from .patterns import Pattern # bad: (?:[1-2][0-9]|3[0-1]|[1-9]) -PART_PATTERNS = { - # Based on calver.org - 'YYYY': r"[1-9][0-9]{3}", - 'YY' : r"[1-9][0-9]?", - '0Y' : r"[0-9]{2}", - 'GGGG': r"[1-9][0-9]{3}", - 'GG' : r"[1-9][0-9]?", - '0G' : r"[0-9]{2}", - 'Q' : r"[1-4]", - 'MM' : r"1[0-2]|[1-9]", - '0M' : r"1[0-2]|0[1-9]", - 'DD' : r"3[0-1]|[1-2][0-9]|[1-9]", - '0D' : r"3[0-1]|[1-2][0-9]|0[1-9]", - 'JJJ' : r"36[0-6]|3[0-5][0-9]|[1-2][0-9][0-9]|[1-9][0-9]|[1-9]", - '00J' : r"36[0-6]|3[0-5][0-9]|[1-2][0-9][0-9]|0[1-9][0-9]|00[1-9]", - # week numbering parts - 'WW': r"5[0-2]|[1-4][0-9]|[0-9]", - '0W': r"5[0-2]|[0-4][0-9]", - 'UU': r"5[0-2]|[1-4][0-9]|[0-9]", - '0U': r"5[0-2]|[0-4][0-9]", - 'VV': r"5[0-3]|[1-4][0-9]|[1-9]", - '0V': r"5[0-3]|[1-4][0-9]|0[1-9]", - # non calver parts - 'MAJOR' : r"[0-9]+", - 'MINOR' : r"[0-9]+", - 'PATCH' : r"[0-9]+", - 'BUILD' : r"[0-9]+", - 'BLD' : r"[1-9][0-9]*", - 'TAG' : r"preview|final|alpha|beta|post|rc", - 'PYTAG' : r"post|rc|a|b", - 'GITHASH': r"\.[0-9]+\+.*", - 'NUM' : r"[0-9]+", - 'INC0' : r"[0-9]+", - 'INC1' : r"[1-9][0-9]*", -} +PART_PATTERNS = collections.OrderedDict( + [ + # Based on calver.org + ('YYYY', r"[1-9][0-9]{3}"), + ('YY' , r"[1-9][0-9]?"), + ('0Y' , r"[0-9]{2}"), + ('GGGG', r"[1-9][0-9]{3}"), + ('GG' , r"[1-9][0-9]?"), + ('0G' , r"[0-9]{2}"), + ('Q' , r"[1-4]"), + ('MM' , r"1[0-2]|[1-9]"), + ('0M' , r"1[0-2]|0[1-9]"), + ('DD' , r"3[0-1]|[1-2][0-9]|[1-9]"), + ('0D' , r"3[0-1]|[1-2][0-9]|0[1-9]"), + ('JJJ' , r"36[0-6]|3[0-5][0-9]|[1-2][0-9][0-9]|[1-9][0-9]|[1-9]"), + ('00J' , r"36[0-6]|3[0-5][0-9]|[1-2][0-9][0-9]|0[1-9][0-9]|00[1-9]"), + # week numbering parts + ('WW', r"5[0-2]|[1-4][0-9]|[0-9]"), + ('0W', r"5[0-2]|[0-4][0-9]"), + ('UU', r"5[0-2]|[1-4][0-9]|[0-9]"), + ('0U', r"5[0-2]|[0-4][0-9]"), + ('VV', r"5[0-3]|[1-4][0-9]|[1-9]"), + ('0V', r"5[0-3]|[1-4][0-9]|0[1-9]"), + # non calver parts + ('MAJOR' , r"[0-9]+"), + ('MINOR' , r"[0-9]+"), + ('PATCH' , r"[0-9]+"), + ('BUILD' , r"[0-9]+"), + ('BLD' , r"[1-9][0-9]*"), + ('TAG' , r"preview|final|alpha|beta|post|rc"), + ('PYTAG' , r"post|rc|a|b"), + ('GITHASH', r"\.[0-9]+\+.*"), + ('NUM' , r"[0-9]+"), + ('INC0' , r"[0-9]+"), + ('INC1' , r"[1-9][0-9]*"), + ] +) PATTERN_PART_FIELDS = {