docker_tag_updater.helpers
#
Submodules#
Module contents#
A set of helpers.
- parse_version(version, rule_set={'default': 'v?(?:ersion-)?(?P<major>\\\\d+)\\\\.(?P<minor>\\\\d+)\\\\.(?P<patch>\\\\d+).*', 'lscr': 'v?(?:ersion-)?(?P<major>\\\\d+)\\\\.(?P<minor>\\\\d+)\\\\.(?P<patch>\\\\d+)(?:\\\\.(?P<prerelease>\\\\d+))?(?:-ls(?P<build>\\\\d+))?', 'yymmdd': '.*(?P<major>\\\\d{2})(?P<minor>\\\\d{2})(?P<patch>\\\\d{2})', 'yyyymmdd': '.*(?P<major>\\\\d{4})(?P<minor>\\\\d{2})(?P<patch>\\\\d{2})'}, rule_name='default')#
Parse the version according to a regex rule.
- Parameters:
- Return type:
- Returns:
A dictionary that can be parsed by python-semver.
- Raises:
KeyError – If rule_name is not the name or alias of a rule in the rules RegexRules object.
ValueError – If there the version cannot be parsed by either the specified rule or the default rule.
Examples
>>> parse_version('v1.2.3') {'major': '1', 'minor': '2', 'patch': '3'}
>>> parse_version("v1.2.3.456-ls789", regex_rules=lscrRules, rule="lscr") {'major': '1', 'minor': '2', 'patch': '3', 'prerelease': '456', 'build': '789'}
See also
regex_rules.RegexRules
For how the rules are generated.
rules
For the default set of rules that will be used.
- rules: RegexRules = {'default': 'v?(?:ersion-)?(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+).*', 'lscr': 'v?(?:ersion-)?(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)(?:\\.(?P<prerelease>\\d+))?(?:-ls(?P<build>\\d+))?', 'yymmdd': '.*(?P<major>\\d{2})(?P<minor>\\d{2})(?P<patch>\\d{2})', 'yyyymmdd': '.*(?P<major>\\d{4})(?P<minor>\\d{2})(?P<patch>\\d{2})'}#
The most general set of rules.
Supports:
Default semantic versions
Linuxserver semantic versions
Datetime-like version strings
See also
regex_rules.DefaultRules
For the aliases for the default set of rules.
lscr.lscrRules
For the aliases for the Linuxserver set of rules.
datetime.yymmddRules
For the aliases for the datetime-like set of rules.
datetime.yyyymmddRules
For the aliases for the datetime-like set of rules.