-
-
Notifications
You must be signed in to change notification settings - Fork 60
Support version retrieval from custom branches #253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support version retrieval from custom branches #253
Conversation
return tuple(map(int, re.match(r'^.*(?P<version>\d+(\.\d+)+).*$', branch).groupdict()['version'].split('.'))) | ||
except AttributeError as attr_err: | ||
raise ValueError(f'Branch {branch} seems to not have a version in its name.') from attr_err | ||
|
||
return sorted( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Mariatta optionally we could try/except this as well and fall back to returning branches list in their original order.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Mariatta what do you think about falling back to unordered branch list?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since there is no need to support unordered branch list yet, I'm thinking to keep things as is and not change the behavior.
@@ -72,10 +73,16 @@ def upstream(self): | |||
|
|||
@property | |||
def sorted_branches(self): | |||
def version_from_branch(branch): | |||
try: | |||
return tuple(map(int, re.match(r'^.*(?P<version>\d+(\.\d+)+).*$', branch).groupdict()['version'].split('.'))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe reading regex template from config is even better?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see how it's more flexible. I was thinking about this, but IRL regex is easy to screw up: they'll be exposed to the internals and helpless, and it would require them to actually scan through the code to figure out how it's being used, why and how to fix that.
It also looks like mixing up higher-level public API with implementation details, which IMHO should be separated.
So I'd be cautious when providing the end-users with such tooling.
What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe invite a syntax like stable-*
where the star is version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems to be more complex than needed
@Mariatta I'm trying to add this to our workflow and this change would really help to adopt the tool. Would you mind taking a look at it, please? |
Sorry for the delay @webknjaz. I intend to review your PRs sometime this week for sure. |
Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @webknjaz. I think the changes look fine. Can you update the readme with info about what branch patterns are considered valid?
Sure, done! |
b2ac064
to
3209061
Compare
Thanks! I made some changes to readme, but the rest looks great. Thanks for working on this ๐ฎ |
@Mariatta thanks! Please let me know when it's on PYPI. P.S. If you would like it โ I can help with automation of release process of dists from Travis CI to PYPI, triggered by pushing tag, for example. Ping me if you're interested ๐ |
๐ฒ I'm interested. See related issue #222 ๐ |
@webknjaz released to PyPI ๐ฎ |
Fixes #251