From 28ecda96e685623fbb4deb045eb2734fc63c0e11 Mon Sep 17 00:00:00 2001 From: Leopold Talirz Date: Tue, 23 Oct 2018 19:04:13 +0200 Subject: [PATCH] Add util function get_strict_version (#1686) (#2099) The utility function `aiida.get_strict_version` will return a StrictVersion instance from `distutils.version` with the current version of the package. --- aiida/__init__.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/aiida/__init__.py b/aiida/__init__.py index d0946a13f9..016038ee8f 100644 --- a/aiida/__init__.py +++ b/aiida/__init__.py @@ -8,6 +8,7 @@ # For further information please visit http://www.aiida.net # ########################################################################### import warnings + from aiida.common.log import configure_logging from aiida.common.setup import get_property @@ -26,6 +27,7 @@ # in Python 2.7 it is suppressed by default warnings.simplefilter('default', DeprecationWarning) + def try_load_dbenv(*argc, **argv): """ Run `load_dbenv` unless the dbenv has already been loaded. @@ -35,6 +37,7 @@ def try_load_dbenv(*argc, **argv): return True return False + def load_dbenv(*argc, **argv): """ Alias for `load_dbenv` from `aiida.backends.utils` @@ -51,9 +54,21 @@ def is_dbenv_loaded(*argc, **argv): return is_dbenv_loaded(*argc, **argv) +def get_strict_version(): + """ + Return a distutils StrictVersion instance with the current distribution version + + :returns: StrictVersion instance with the current version + """ + from distutils.version import StrictVersion + return StrictVersion(__version__) + + def get_version(): """ - Very simple function to get a string with the version number. + Return the current distribution version + + :returns: a string with the current version """ return __version__ @@ -70,6 +85,7 @@ def _get_raw_file_header(): {} """.format(__version__, __paper__) + def get_file_header(comment_char="# "): """ Get a string to be put as header of files created with AiiDA; @@ -79,4 +95,4 @@ def get_file_header(comment_char="# "): :return: a (multiline) string """ lines = _get_raw_file_header().splitlines() - return "\n".join("{}{}".format(comment_char, line) for line in lines) + return '\n'.join('{}{}'.format(comment_char, line) for line in lines)