Videre
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
"""Collection of miscellaneous initialization utilities."""
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
version_info = namedtuple('version_info',
|
||||
('major minor patch short full '
|
||||
'string tuple git_revision'))
|
||||
|
||||
|
||||
def generate_version_info(version):
|
||||
"""Process a version string into a structured version_info object.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
version: str
|
||||
a string describing the current version
|
||||
|
||||
Returns
|
||||
-------
|
||||
version_info: tuple
|
||||
structured version information
|
||||
|
||||
See also
|
||||
--------
|
||||
Look at the definition of 'version_info' in this module for details.
|
||||
|
||||
"""
|
||||
parts = version.split('.')
|
||||
|
||||
def try_int(x):
|
||||
try:
|
||||
return int(x)
|
||||
except ValueError:
|
||||
return None
|
||||
major = try_int(parts[0]) if len(parts) >= 1 else None
|
||||
minor = try_int(parts[1]) if len(parts) >= 2 else None
|
||||
patch = try_int(parts[2]) if len(parts) >= 3 else None
|
||||
short = (major, minor)
|
||||
full = (major, minor, patch)
|
||||
string = version
|
||||
tup = tuple(parts)
|
||||
git_revision = tup[3] if len(tup) >= 4 else None
|
||||
return version_info(major, minor, patch, short, full, string, tup,
|
||||
git_revision)
|
||||
Reference in New Issue
Block a user