| 1234567891011121314151617181920212223242526272829303132333435 |
- """EditorConfig version tools
- Provides ``join_version`` and ``split_version`` classes for converting
- __version__ strings to VERSION tuples and vice versa.
- """
- import re
- __all__ = ['join_version', 'split_version']
- _version_re = re.compile(r'^(\d+)\.(\d+)\.(\d+)(\..*)?$', re.VERBOSE)
- def join_version(version_tuple):
- """Return a string representation of version from given VERSION tuple"""
- version = "%s.%s.%s" % version_tuple[:3]
- if version_tuple[3] != "final":
- version += "-%s" % version_tuple[3]
- return version
- def split_version(version):
- """Return VERSION tuple for given string representation of version"""
- match = _version_re.search(version)
- if not match:
- return None
- else:
- split_version = list(match.groups())
- if split_version[3] is None:
- split_version[3] = "final"
- split_version = list(map(int, split_version[:3])) + split_version[3:]
- return tuple(split_version)
|