diff options
author | Ronny Pfannschmidt <opensource@ronnypfannschmidt.de> | 2023-03-13 14:08:40 +0100 |
---|---|---|
committer | Ronny Pfannschmidt <opensource@ronnypfannschmidt.de> | 2023-03-13 14:08:40 +0100 |
commit | 3b5b8a7cb3ec62c7a655d51ee272f08a1c44034b (patch) | |
tree | fa2c7b456e539d7e6ed2148061547bbf0c5cd802 /src/setuptools_scm | |
parent | 792f61e3ab701cd851d2071885106df581343e0e (diff) | |
download | setuptools-scm-3b5b8a7cb3ec62c7a655d51ee272f08a1c44034b.tar.gz |
refactor/breaking: move file finders to private module
Diffstat (limited to 'src/setuptools_scm')
-rw-r--r-- | src/setuptools_scm/_cli.py | 2 | ||||
-rw-r--r-- | src/setuptools_scm/_file_finders/__init__.py (renamed from src/setuptools_scm/file_finder.py) | 19 | ||||
-rw-r--r-- | src/setuptools_scm/_file_finders/git.py (renamed from src/setuptools_scm/file_finder_git.py) | 12 | ||||
-rw-r--r-- | src/setuptools_scm/_file_finders/hg.py (renamed from src/setuptools_scm/file_finder_hg.py) | 19 | ||||
-rw-r--r-- | src/setuptools_scm/integration.py | 16 |
5 files changed, 34 insertions, 34 deletions
diff --git a/src/setuptools_scm/_cli.py b/src/setuptools_scm/_cli.py index 953c471..37bbc9a 100644 --- a/src/setuptools_scm/_cli.py +++ b/src/setuptools_scm/_cli.py @@ -6,8 +6,8 @@ import sys from setuptools_scm import _get_version from setuptools_scm import Configuration +from setuptools_scm._file_finders import find_files from setuptools_scm.discover import walk_potential_roots -from setuptools_scm.integration import find_files def main(args: list[str] | None = None) -> None: diff --git a/src/setuptools_scm/file_finder.py b/src/setuptools_scm/_file_finders/__init__.py index 27a50d7..5a7a1c0 100644 --- a/src/setuptools_scm/file_finder.py +++ b/src/setuptools_scm/_file_finders/__init__.py @@ -1,11 +1,14 @@ from __future__ import annotations +import itertools import os +from typing import Callable from typing_extensions import TypeGuard -from . import _types as _t -from ._trace import trace +from setuptools_scm import _types as _t +from setuptools_scm._entrypoints import iter_entry_points +from setuptools_scm._trace import trace def scm_find_files( @@ -84,3 +87,15 @@ def is_toplevel_acceptable(toplevel: str | None) -> TypeGuard[str]: trace(toplevel, ignored) return toplevel not in ignored + + +def find_files(path: _t.PathT = "") -> list[str]: + for ep in itertools.chain( + iter_entry_points("setuptools_scm.files_command"), + iter_entry_points("setuptools_scm.files_command_fallback"), + ): + command: Callable[[_t.PathT], list[str]] = ep.load() + res: list[str] = command(path) + if res: + return res + return [] diff --git a/src/setuptools_scm/file_finder_git.py b/src/setuptools_scm/_file_finders/git.py index 20c04a1..f007d5b 100644 --- a/src/setuptools_scm/file_finder_git.py +++ b/src/setuptools_scm/_file_finders/git.py @@ -6,12 +6,12 @@ import subprocess import tarfile from typing import IO -from . import _types as _t -from ._run_cmd import run as _run -from ._trace import trace -from .file_finder import is_toplevel_acceptable -from .file_finder import scm_find_files -from .utils import data_from_mime +from . import is_toplevel_acceptable +from . import scm_find_files +from .. import _types as _t +from .._run_cmd import run as _run +from .._trace import trace +from ..utils import data_from_mime log = logging.getLogger(__name__) diff --git a/src/setuptools_scm/file_finder_hg.py b/src/setuptools_scm/_file_finders/hg.py index a02bcce..8f777ea 100644 --- a/src/setuptools_scm/file_finder_hg.py +++ b/src/setuptools_scm/_file_finders/hg.py @@ -3,13 +3,12 @@ from __future__ import annotations import os import subprocess -from . import _types as _t -from ._run_cmd import run as _run -from ._trace import trace -from .file_finder import is_toplevel_acceptable -from .file_finder import scm_find_files -from .utils import data_from_mime -from .utils import do_ex +from .. import _types as _t +from .._file_finders import is_toplevel_acceptable +from .._file_finders import scm_find_files +from .._run_cmd import run as _run +from .._trace import trace +from ..utils import data_from_mime def _hg_toplevel(path: str) -> str | None: @@ -31,10 +30,10 @@ def _hg_toplevel(path: str) -> str | None: def _hg_ls_files_and_dirs(toplevel: str) -> tuple[set[str], set[str]]: hg_files: set[str] = set() hg_dirs = {toplevel} - out, err, ret = do_ex(["hg", "files"], cwd=toplevel) - if ret: + res = _run(["hg", "files"], cwd=toplevel) + if res.returncode: (), () - for name in out.splitlines(): + for name in res.stdout.splitlines(): name = os.path.normcase(name).replace("/", os.path.sep) fullname = os.path.join(toplevel, name) hg_files.add(fullname) diff --git a/src/setuptools_scm/integration.py b/src/setuptools_scm/integration.py index e2a033e..1d600e2 100644 --- a/src/setuptools_scm/integration.py +++ b/src/setuptools_scm/integration.py @@ -1,6 +1,5 @@ from __future__ import annotations -import itertools import os import warnings from typing import Any @@ -12,7 +11,6 @@ import setuptools from . import _get_version from . import _version_missing from . import Configuration -from ._entrypoints import iter_entry_points from ._integration.setuptools import ( read_dist_name_from_setup_cfg as _read_dist_name_from_setup_cfg, ) @@ -20,7 +18,7 @@ from ._trace import trace from ._version_cls import _validate_version_cls if TYPE_CHECKING: - from . import _types as _t + pass def _warn_on_old_setuptools(_version: str = setuptools.__version__) -> None: @@ -99,18 +97,6 @@ def version_keyword( _assign_version(dist, config) -def find_files(path: _t.PathT = "") -> list[str]: - for ep in itertools.chain( - iter_entry_points("setuptools_scm.files_command"), - iter_entry_points("setuptools_scm.files_command_fallback"), - ): - command = ep.load() - res: list[str] = command(path) - if res: - return res - return [] - - def infer_version(dist: setuptools.Distribution) -> None: trace( "finalize hook", |