import os import re PROJECT_NAME = "dane_discovery" def get_file_contents(file_name): """Return the contents of a file.""" with open(file_name, 'r') as f: return f.read() def get_version(): """Return the package version.""" init_file = get_file_contents(os.path.join(PROJECT_NAME, "__init__.py")) rx_compiled = re.compile(r"\s*__version__\s*=\s*\"(\S+)\"") ver = rx_compiled.search(init_file).group(1) return ver ignore_regexps = [ r'@minor', r'!minor', r'@cosmetic', r'!cosmetic', r'@refactor', r'!refactor', r'@wip', r'!wip', r'^([cC]hg|[fF]ix|[nN]ew)\s*:\s*[p|P]kg:', r'^([cC]hg|[fF]ix|[nN]ew)\s*:\s*[d|D]ev:', r'^(.{3,3}\s*:)?\s*[fF]irst commit.?\s*$', ] section_regexps = [ ('New', [ r'^[nN]ew\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$', ]), ('Changes', [ r'^[cC]hg\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$', ]), ('Fix', [ r'^[fF]ix\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$', ]), ('Other', None ## Match all lines ), ] body_process = ReSub(r'((^|\n)[A-Z]\w+(-\w+)*: .*(\n\s+.*)*)+$', r'') | strip subject_process = (strip | ReSub(r'^([cC]hg|[fF]ix|[nN]ew)\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n@]*)(@[a-z]+\s+)*$', r'\4') | ucfirst | final_dot) tag_filter_regexp = r'^v[0-9]+\.[0-9]+(\.[0-9]+)?$' unreleased_version_label = "v%s"% get_version() include_merge = False output_engine = rest_py revs = []