diff options
Diffstat (limited to 'src/setuptools_scm/hacks.py')
-rw-r--r-- | src/setuptools_scm/hacks.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/setuptools_scm/hacks.py b/src/setuptools_scm/hacks.py index 1ef0bb4..e0db383 100644 --- a/src/setuptools_scm/hacks.py +++ b/src/setuptools_scm/hacks.py @@ -1,6 +1,6 @@ import os from .utils import data_from_mime, trace -from .version import meta +from .version import tag_to_version, meta def parse_pkginfo(root, config=None): @@ -25,5 +25,12 @@ def parse_pip_egg_info(root, config=None): def fallback_version(root, config=None): + if config.parentdir_prefix_version is not None: + _, parent_name = os.path.split(os.path.abspath(root)) + if parent_name.startswith(config.parentdir_prefix_version): + version = tag_to_version( + parent_name[len(config.parentdir_prefix_version) :], config) + if version is not None: + return meta(str(version), preformatted=True, config=config) if config.fallback_version is not None: return meta(config.fallback_version, preformatted=True, config=config) |