Skip to content

Commit

Permalink
linter
Browse files Browse the repository at this point in the history
  • Loading branch information
mariusvniekerk authored Dec 2, 2020
1 parent 26cb7ea commit 813df03
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 14 deletions.
78 changes: 66 additions & 12 deletions dunamai/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,9 @@ def _match_version_pattern(
except IndexError:
pass

return _match_version_pattern_res(source, base, stage_revision, newer_unmatched_tags, tagged_metadata)
return _match_version_pattern_res(
source, base, stage_revision, newer_unmatched_tags, tagged_metadata
)


def _blank(value: Optional[_T], default: _T) -> _T:
Expand Down Expand Up @@ -406,12 +408,21 @@ def from_git(cls, pattern: str = _VERSION_PATTERN, latest_tag: bool = False) ->
t[0]
for t in reversed(sorted(detailed_tags, key=lambda x: x[1] if x[2] is None else x[2]))
]
tag, base, stage, unmatched, tagged_metadata = _match_version_pattern(pattern, tags, latest_tag)
tag, base, stage, unmatched, tagged_metadata = _match_version_pattern(
pattern, tags, latest_tag
)

code, msg = _run_cmd("git rev-list --count refs/tags/{}..HEAD".format(tag))
distance = int(msg)

version = cls(base, stage=stage, distance=distance, commit=commit, dirty=dirty, tagged_metadata=tagged_metadata)
version = cls(
base,
stage=stage,
distance=distance,
commit=commit,
dirty=dirty,
tagged_metadata=tagged_metadata,
)
version._matched_tag = tag
version._newer_unmatched_tags = unmatched
return version
Expand Down Expand Up @@ -452,13 +463,22 @@ def from_mercurial(cls, pattern: str = _VERSION_PATTERN, latest_tag: bool = Fals
distance = 0
return cls("0.0.0", distance=distance, commit=commit, dirty=dirty)
tags = [tag for tags in [line.split(":") for line in msg.splitlines()] for tag in tags]
tag, base, stage, unmatched, tagged_metadata = _match_version_pattern(pattern, tags, latest_tag)
tag, base, stage, unmatched, tagged_metadata = _match_version_pattern(
pattern, tags, latest_tag
)

code, msg = _run_cmd('hg log -r "{0}::{1} - {0}" --template "."'.format(tag, commit))
# The tag itself is in the list, so offset by 1.
distance = max(len(msg) - 1, 0)

version = cls(base, stage=stage, distance=distance, commit=commit, dirty=dirty, tagged_metadata=tagged_metadata)
version = cls(
base,
stage=stage,
distance=distance,
commit=commit,
dirty=dirty,
tagged_metadata=tagged_metadata,
)
version._matched_tag = tag
version._newer_unmatched_tags = unmatched
return version
Expand Down Expand Up @@ -495,13 +515,22 @@ def from_darcs(cls, pattern: str = _VERSION_PATTERN, latest_tag: bool = False) -
distance = 0
return cls("0.0.0", distance=distance, commit=commit, dirty=dirty)
tags = msg.splitlines()
tag, base, stage, unmatched, tagged_metadata = _match_version_pattern(pattern, tags, latest_tag)
tag, base, stage, unmatched, tagged_metadata = _match_version_pattern(
pattern, tags, latest_tag
)

code, msg = _run_cmd("darcs log --from-tag {} --count".format(tag))
# The tag itself is in the list, so offset by 1.
distance = int(msg) - 1

version = cls(base, stage=stage, distance=distance, commit=commit, dirty=dirty, tagged_metadata=tagged_metadata)
version = cls(
base,
stage=stage,
distance=distance,
commit=commit,
dirty=dirty,
tagged_metadata=tagged_metadata,
)
version._matched_tag = tag
version._newer_unmatched_tags = unmatched
return version
Expand Down Expand Up @@ -560,13 +589,22 @@ def from_subversion(
source = int(match.group(1))
tags_to_sources_revs[tag] = (source, rev)
tags = sorted(tags_to_sources_revs, key=lambda x: tags_to_sources_revs[x], reverse=True)
tag, base, stage, unmatched, tagged_metadata = _match_version_pattern(pattern, tags, latest_tag)
tag, base, stage, unmatched, tagged_metadata = _match_version_pattern(
pattern, tags, latest_tag
)

source, rev = tags_to_sources_revs[tag]
# The tag itself is in the list, so offset by 1.
distance = int(commit) - 1 - source

version = cls(base, stage=stage, distance=distance, commit=commit, dirty=dirty, tagged_metadata=tagged_metadata)
version = cls(
base,
stage=stage,
distance=distance,
commit=commit,
dirty=dirty,
tagged_metadata=tagged_metadata,
)
version._matched_tag = tag
version._newer_unmatched_tags = unmatched
return version
Expand Down Expand Up @@ -607,11 +645,20 @@ def from_bazaar(cls, pattern: str = _VERSION_PATTERN, latest_tag: bool = False)
if line.split()[1] != "?"
}
tags = [x[1] for x in sorted([(v, k) for k, v in tags_to_revs.items()], reverse=True)]
tag, base, stage, unmatched, tagged_metadata = _match_version_pattern(pattern, tags, latest_tag)
tag, base, stage, unmatched, tagged_metadata = _match_version_pattern(
pattern, tags, latest_tag
)

distance = int(commit) - tags_to_revs[tag]

version = cls(base, stage=stage, distance=distance, commit=commit, dirty=dirty, tagged_metadata=tagged_metadata)
version = cls(
base,
stage=stage,
distance=distance,
commit=commit,
dirty=dirty,
tagged_metadata=tagged_metadata,
)
version._matched_tag = tag
version._newer_unmatched_tags = unmatched
return version
Expand Down Expand Up @@ -688,7 +735,14 @@ def from_fossil(cls, pattern: str = _VERSION_PATTERN, latest_tag: bool = False)
)
distance = dict(tags_to_distance)[tag]

version = cls(base, stage=stage, distance=distance, commit=commit, dirty=dirty, tagged_metadata=tagged_metadata)
version = cls(
base,
stage=stage,
distance=distance,
commit=commit,
dirty=dirty,
tagged_metadata=tagged_metadata,
)
version._matched_tag = tag
version._newer_unmatched_tags = unmatched
return version
Expand Down
8 changes: 6 additions & 2 deletions tests/unit/test_dunamai.py
Original file line number Diff line number Diff line change
Expand Up @@ -496,12 +496,16 @@ def test__check_version__pvp() -> None:

def test__default_version_pattern() -> None:
def check_re(
tag: str, base: str = None, stage: str = None, revision: str = None, tagged_metadata: str = None
tag: str,
base: str = None,
stage: str = None,
revision: str = None,
tagged_metadata: str = None,
) -> None:
result = re.search(_VERSION_PATTERN, tag)
if result is None:
if any(x is not None for x in [base, stage, revision]):
raise ValueError(f"Pattern did not match, {tag}")
raise ValueError("Pattern did not match, {tag}".format(tag=tag))
else:
assert result.group("base") == base
assert result.group("stage") == stage
Expand Down

0 comments on commit 813df03

Please sign in to comment.