diff --git a/setup.py b/setup.py index 5f06079b..43270358 100644 --- a/setup.py +++ b/setup.py @@ -90,6 +90,8 @@ def parse(root): [setuptools_scm.local_scheme] node-and-date = setuptools_scm.version:get_local_node_and_date + node-and-timestamp = \ + setuptools_scm.version:get_local_node_and_timestamp dirty-tag = setuptools_scm.version:get_local_dirty_tag """, classifiers=[ diff --git a/setuptools_scm/version.py b/setuptools_scm/version.py index 6c45638d..e5d51380 100644 --- a/setuptools_scm/version.py +++ b/setuptools_scm/version.py @@ -144,6 +144,20 @@ def get_local_node_and_date(version): return version.format_choice("+{node}", "+{node}.d{time:%Y%m%d}") +def get_local_node_and_timestamp(version, fmt='%Y%m%d%H%M%S'): + if version.exact or version.node is None: + return version.format_choice("", + "+d{time:" + + "{fmt}".format(fmt=fmt) + + "}") + else: + return version.format_choice("+{node}", + "+{node}" + + ".d{time:" + + "{fmt}".format(fmt=fmt) + + "}") + + def get_local_dirty_tag(version): return version.format_choice('', '+dirty')