diff --git a/nvchecker/source/github.py b/nvchecker/source/github.py index b501fa4..9566736 100644 --- a/nvchecker/source/github.py +++ b/nvchecker/source/github.py @@ -1,7 +1,8 @@ # MIT licensed -# Copyright (c) 2013-2017 lilydjwg , et al. +# Copyright (c) 2013-2018 lilydjwg , et al. import os +import re import structlog @@ -19,6 +20,7 @@ async def get_version(name, conf): br = conf.get('branch') use_latest_release = conf.getboolean('use_latest_release', False) use_max_tag = conf.getboolean('use_max_tag', False) + include_tags_pattern = conf.get("include_tags_pattern", "") ignored_tags = conf.get("ignored_tags", "").split() sort_version_key = sort_version_keys[conf.get("sort_version_key", "parse_version")] if use_latest_release: @@ -49,10 +51,14 @@ async def get_version(name, conf): version = data['tag_name'] elif use_max_tag: data = [tag["name"] for tag in data if tag["name"] not in ignored_tags] + if include_tags_pattern: + data = [x for x in data + if re.search(include_tags_pattern, x)] data.sort(key=sort_version_key) if not len(data): logger.error('No tag found in upstream repository.', - name=name) + name=name, + include_tags_pattern=include_tags_pattern) return version = data[-1] else: