diff options
author | Ronny Pfannschmidt <opensource@ronnypfannschmidt.de> | 2022-05-07 21:12:35 +0200 |
---|---|---|
committer | Ronny Pfannschmidt <opensource@ronnypfannschmidt.de> | 2022-05-29 12:29:27 +0200 |
commit | b45e19f9f275a31873fd5e07faabef16fd0bbec0 (patch) | |
tree | ea9492e77f822c15d50d6b71851f9b31b59a4d6d /src/setuptools_scm/hacks.py | |
parent | e09403f0f8d0923f5fac3f7094e0bbf80c824933 (diff) | |
download | setuptools-scm-b45e19f9f275a31873fd5e07faabef16fd0bbec0.tar.gz |
complete mypy transformation
Diffstat (limited to 'src/setuptools_scm/hacks.py')
-rw-r--r-- | src/setuptools_scm/hacks.py | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/src/setuptools_scm/hacks.py b/src/setuptools_scm/hacks.py index 3108de8..259bab2 100644 --- a/src/setuptools_scm/hacks.py +++ b/src/setuptools_scm/hacks.py @@ -1,33 +1,45 @@ import os +from typing import Optional +from . import _types as _t +from .config import Configuration from .utils import data_from_mime from .utils import trace from .version import meta +from .version import ScmVersion from .version import tag_to_version +_UNKNOWN = "UNKNOWN" -def parse_pkginfo(root, config=None): + +def parse_pkginfo( + root: _t.PathT, config: Optional[Configuration] = None +) -> Optional[ScmVersion]: pkginfo = os.path.join(root, "PKG-INFO") trace("pkginfo", pkginfo) data = data_from_mime(pkginfo) - version = data.get("Version") - if version != "UNKNOWN": + version = data.get("Version", _UNKNOWN) + if version != _UNKNOWN: return meta(version, preformatted=True, config=config) + else: + return None -def parse_pip_egg_info(root, config=None): +def parse_pip_egg_info( + root: _t.PathT, config: Optional[Configuration] = None +) -> Optional[ScmVersion]: pipdir = os.path.join(root, "pip-egg-info") if not os.path.isdir(pipdir): - return + return None items = os.listdir(pipdir) trace("pip-egg-info", pipdir, items) if not items: - return + return None return parse_pkginfo(os.path.join(pipdir, items[0]), config=config) -def fallback_version(root, config=None): +def fallback_version(root: _t.PathT, config: Configuration) -> Optional[ScmVersion]: 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): @@ -39,3 +51,4 @@ def fallback_version(root, config=None): if config.fallback_version is not None: trace("FALLBACK") return meta(config.fallback_version, preformatted=True, config=config) + return None |