diff -r a1d10c6ce103 -r a7fecbc392d7 ThirdParty/EditorConfig/editorconfig/versiontools.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ThirdParty/EditorConfig/editorconfig/versiontools.py Thu Feb 01 19:26:11 2018 +0100 @@ -0,0 +1,35 @@ +"""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)