summaryrefslogtreecommitdiff
path: root/src/setuptools_scm/hacks.py
diff options
context:
space:
mode:
authorRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2022-05-07 21:12:35 +0200
committerRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2022-05-29 12:29:27 +0200
commitb45e19f9f275a31873fd5e07faabef16fd0bbec0 (patch)
treeea9492e77f822c15d50d6b71851f9b31b59a4d6d /src/setuptools_scm/hacks.py
parente09403f0f8d0923f5fac3f7094e0bbf80c824933 (diff)
downloadsetuptools-scm-b45e19f9f275a31873fd5e07faabef16fd0bbec0.tar.gz
complete mypy transformation
Diffstat (limited to 'src/setuptools_scm/hacks.py')
-rw-r--r--src/setuptools_scm/hacks.py27
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