mirror of
https://github.com/copier-org/copier.git
synced 2025-05-05 15:32:54 +00:00
refactor: rename internal modules with a _
prefix
This commit is contained in:
parent
b42a032f7b
commit
ef5ea4b212
@ -5,7 +5,7 @@ Docs: https://copier.readthedocs.io/
|
||||
|
||||
import importlib.metadata
|
||||
|
||||
from .main import * # noqa: F401,F403
|
||||
from ._main import * # noqa: F401,F403
|
||||
|
||||
try:
|
||||
__version__ = importlib.metadata.version(__name__)
|
||||
|
@ -1,6 +1,6 @@
|
||||
"""Copier CLI entrypoint."""
|
||||
|
||||
from .cli import CopierApp
|
||||
from ._cli import CopierApp
|
||||
|
||||
if __name__ == "__main__":
|
||||
CopierApp.run()
|
||||
|
@ -58,10 +58,10 @@ from typing import Any, Callable, Optional
|
||||
import yaml
|
||||
from plumbum import cli, colors
|
||||
|
||||
from ._main import Worker
|
||||
from ._tools import copier_version
|
||||
from ._types import AnyByStrDict
|
||||
from .errors import UnsafeTemplateError, UserMessageError
|
||||
from .main import Worker
|
||||
from .tools import copier_version
|
||||
from .types import AnyByStrDict
|
||||
|
||||
|
||||
def _handle_exceptions(method: Callable[[], None]) -> int:
|
@ -36,20 +36,10 @@ from pydantic.dataclasses import dataclass
|
||||
from pydantic_core import to_jsonable_python
|
||||
from questionary import confirm, unsafe_prompt
|
||||
|
||||
from .errors import (
|
||||
CopierAnswersInterrupt,
|
||||
ExtensionNotFoundError,
|
||||
InteractiveSessionError,
|
||||
TaskError,
|
||||
UnsafeTemplateError,
|
||||
UserMessageError,
|
||||
YieldTagInFileError,
|
||||
)
|
||||
from .jinja_ext import YieldEnvironment, YieldExtension
|
||||
from .settings import Settings
|
||||
from .subproject import Subproject
|
||||
from .template import Task, Template
|
||||
from .tools import (
|
||||
from ._jinja_ext import YieldEnvironment, YieldExtension
|
||||
from ._subproject import Subproject
|
||||
from ._template import Task, Template
|
||||
from ._tools import (
|
||||
OS,
|
||||
Style,
|
||||
cast_to_bool,
|
||||
@ -59,7 +49,7 @@ from .tools import (
|
||||
scantree,
|
||||
set_git_alternates,
|
||||
)
|
||||
from .types import (
|
||||
from ._types import (
|
||||
MISSING,
|
||||
AnyByStrDict,
|
||||
AnyByStrMutableMapping,
|
||||
@ -71,8 +61,18 @@ from .types import (
|
||||
RelativePath,
|
||||
StrOrPath,
|
||||
)
|
||||
from .user_data import AnswersMap, Question, load_answersfile_data
|
||||
from .vcs import get_git
|
||||
from ._user_data import AnswersMap, Question, load_answersfile_data
|
||||
from ._vcs import get_git
|
||||
from .errors import (
|
||||
CopierAnswersInterrupt,
|
||||
ExtensionNotFoundError,
|
||||
InteractiveSessionError,
|
||||
TaskError,
|
||||
UnsafeTemplateError,
|
||||
UserMessageError,
|
||||
YieldTagInFileError,
|
||||
)
|
||||
from .settings import Settings
|
||||
|
||||
_T = TypeVar("_T")
|
||||
_P = ParamSpec("_P")
|
@ -13,10 +13,10 @@ from typing import Callable
|
||||
from plumbum.machines import local
|
||||
from pydantic.dataclasses import dataclass
|
||||
|
||||
from .template import Template
|
||||
from .types import AbsolutePath, AnyByStrDict, VCSTypes
|
||||
from .user_data import load_answersfile_data
|
||||
from .vcs import get_git, is_in_git_repo
|
||||
from ._template import Template
|
||||
from ._types import AbsolutePath, AnyByStrDict, VCSTypes
|
||||
from ._user_data import load_answersfile_data
|
||||
from ._vcs import get_git, is_in_git_repo
|
||||
|
||||
|
||||
@dataclass
|
@ -22,6 +22,9 @@ from packaging.version import Version, parse
|
||||
from plumbum.machines import local
|
||||
from pydantic.dataclasses import dataclass
|
||||
|
||||
from ._tools import copier_version, handle_remove_readonly
|
||||
from ._types import AnyByStrDict, VCSTypes
|
||||
from ._vcs import checkout_latest_tag, clone, get_git, get_repo
|
||||
from .errors import (
|
||||
InvalidConfigFileError,
|
||||
MultipleConfigFilesError,
|
||||
@ -29,9 +32,6 @@ from .errors import (
|
||||
UnknownCopierVersionWarning,
|
||||
UnsupportedVersionError,
|
||||
)
|
||||
from .tools import copier_version, handle_remove_readonly
|
||||
from .types import AnyByStrDict, VCSTypes
|
||||
from .vcs import checkout_latest_tag, clone, get_git, get_repo
|
||||
|
||||
# Default list of files in the template to exclude from the rendered project
|
||||
DEFAULT_EXCLUDE: tuple[str, ...] = (
|
@ -229,7 +229,7 @@ def get_git_objects_dir(path: Path) -> Path:
|
||||
"""Get the absolute path of a Git repository's objects directory."""
|
||||
# FIXME: A lazy import is currently necessary to avoid circular imports with
|
||||
# `errors.py`.
|
||||
from .vcs import get_git
|
||||
from ._vcs import get_git
|
||||
|
||||
git = get_git()
|
||||
return path.joinpath(
|
@ -26,9 +26,8 @@ from questionary.prompts.common import Choice
|
||||
|
||||
from copier.settings import Settings
|
||||
|
||||
from .errors import InvalidTypeError, MissingFileWarning, UserMessageError
|
||||
from .tools import cast_to_bool, cast_to_str, force_str_end
|
||||
from .types import (
|
||||
from ._tools import cast_to_bool, cast_to_str, force_str_end
|
||||
from ._types import (
|
||||
MISSING,
|
||||
AnyByStrDict,
|
||||
AnyByStrMutableMapping,
|
||||
@ -36,6 +35,7 @@ from .types import (
|
||||
MissingType,
|
||||
StrOrPath,
|
||||
)
|
||||
from .errors import InvalidTypeError, MissingFileWarning, UserMessageError
|
||||
|
||||
|
||||
# TODO Remove these two functions as well as DEFAULT_DATA in a future release
|
@ -14,8 +14,8 @@ from packaging.version import InvalidVersion, Version
|
||||
from plumbum import TF, ProcessExecutionError, colors, local
|
||||
from plumbum.machines import LocalCommand
|
||||
|
||||
from ._types import OptBool, OptStrOrPath, StrOrPath
|
||||
from .errors import DirtyLocalWarning, ShallowCloneWarning
|
||||
from .types import OptBool, OptStrOrPath, StrOrPath
|
||||
|
||||
GIT_USER_NAME = "Copier"
|
||||
GIT_USER_EMAIL = "copier@copier"
|
@ -9,12 +9,12 @@ from pathlib import Path
|
||||
from subprocess import CompletedProcess
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from .tools import printf_exception
|
||||
from .types import PathSeq
|
||||
from ._tools import printf_exception
|
||||
from ._types import PathSeq
|
||||
|
||||
if TYPE_CHECKING: # always false
|
||||
from .template import Template
|
||||
from .user_data import AnswersMap, Question
|
||||
from ._template import Template
|
||||
from ._user_data import AnswersMap, Question
|
||||
|
||||
if sys.version_info < (3, 11):
|
||||
from typing_extensions import Self
|
||||
|
@ -1 +1 @@
|
||||
::: copier.cli
|
||||
::: copier._cli
|
||||
|
@ -1 +1 @@
|
||||
::: copier.jinja_ext
|
||||
::: copier._jinja_ext
|
||||
|
@ -1 +1 @@
|
||||
::: copier.main
|
||||
::: copier._main
|
||||
|
@ -1 +1 @@
|
||||
::: copier.subproject
|
||||
::: copier._subproject
|
||||
|
@ -1 +1 @@
|
||||
::: copier.template
|
||||
::: copier._template
|
||||
|
@ -1 +1 @@
|
||||
::: copier.tools
|
||||
::: copier._tools
|
||||
|
@ -1 +1 @@
|
||||
::: copier.types
|
||||
::: copier._types
|
||||
|
@ -1 +1 @@
|
||||
::: copier.user_data
|
||||
::: copier._user_data
|
||||
|
@ -1 +1 @@
|
||||
::: copier.vcs
|
||||
::: copier._vcs
|
||||
|
@ -76,6 +76,10 @@
|
||||
];
|
||||
prettier.enable = true;
|
||||
prettier.excludes = [
|
||||
# Some API reference identifiers are dotted paths involving
|
||||
# internal modules prefixed with `_` which are converted by
|
||||
# Prettier to `\_`, making them invalid.
|
||||
"^docs/reference/.+\.md$"
|
||||
# Those files have wrong syntax and would fail
|
||||
"^tests/demo_invalid/copier.yml$"
|
||||
"^tests/demo_transclude_invalid(_multi)?/demo/copier.yml$"
|
||||
|
@ -135,6 +135,11 @@ ignore_missing_imports = true
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = [
|
||||
"copier._subproject",
|
||||
"copier._template",
|
||||
"copier._tools",
|
||||
"copier._user_data",
|
||||
"copier._vcs",
|
||||
"copier.subproject",
|
||||
"copier.template",
|
||||
"copier.tools",
|
||||
|
@ -20,7 +20,7 @@ from prompt_toolkit.keys import Keys
|
||||
from pytest_gitconfig.plugin import DEFAULT_GIT_USER_EMAIL, DEFAULT_GIT_USER_NAME
|
||||
|
||||
import copier
|
||||
from copier.types import StrOrPath
|
||||
from copier._types import StrOrPath
|
||||
|
||||
PROJECT_TEMPLATE = Path(__file__).parent / "demo"
|
||||
|
||||
|
@ -9,7 +9,7 @@ import pytest
|
||||
import yaml
|
||||
|
||||
import copier
|
||||
from copier.user_data import load_answersfile_data
|
||||
from copier._user_data import load_answersfile_data
|
||||
|
||||
from .helpers import BRACKET_ENVOPS_JSON, SUFFIX_TMPL, build_file_tree, git_save
|
||||
|
||||
|
@ -5,7 +5,7 @@ from pathlib import Path
|
||||
import pytest
|
||||
|
||||
import copier
|
||||
from copier.user_data import load_answersfile_data
|
||||
from copier._user_data import load_answersfile_data
|
||||
|
||||
from .helpers import build_file_tree
|
||||
|
||||
|
@ -10,8 +10,8 @@ import pytest
|
||||
import yaml
|
||||
from plumbum import local
|
||||
|
||||
from copier.cli import CopierApp
|
||||
from copier.user_data import load_answersfile_data
|
||||
from copier._cli import CopierApp
|
||||
from copier._user_data import load_answersfile_data
|
||||
|
||||
from .helpers import COPIER_CMD, build_file_tree, git
|
||||
|
||||
|
@ -12,7 +12,7 @@ from pexpect.popen_spawn import PopenSpawn
|
||||
from plumbum import local
|
||||
|
||||
from copier import run_copy, run_update
|
||||
from copier.user_data import load_answersfile_data
|
||||
from copier._user_data import load_answersfile_data
|
||||
|
||||
from .helpers import (
|
||||
BRACKET_ENVOPS,
|
||||
|
@ -10,9 +10,9 @@ from plumbum import local
|
||||
from pydantic import ValidationError
|
||||
|
||||
import copier
|
||||
from copier._template import DEFAULT_EXCLUDE, Task, Template, load_template_config
|
||||
from copier._types import AnyByStrDict
|
||||
from copier.errors import InvalidConfigFileError, MultipleConfigFilesError
|
||||
from copier.template import DEFAULT_EXCLUDE, Task, Template, load_template_config
|
||||
from copier.types import AnyByStrDict
|
||||
|
||||
from .helpers import BRACKET_ENVOPS_JSON, SUFFIX_TMPL, build_file_tree, git_init
|
||||
|
||||
|
@ -18,7 +18,7 @@ from plumbum import local
|
||||
|
||||
import copier
|
||||
from copier import run_copy
|
||||
from copier.types import AnyByStrDict
|
||||
from copier._types import AnyByStrDict
|
||||
|
||||
from .helpers import (
|
||||
BRACKET_ENVOPS,
|
||||
|
@ -6,8 +6,8 @@ from plumbum import local
|
||||
from pytest_gitconfig.plugin import GitConfig
|
||||
|
||||
import copier
|
||||
from copier._main import run_copy, run_update
|
||||
from copier.errors import DirtyLocalWarning
|
||||
from copier.main import run_copy, run_update
|
||||
|
||||
from .helpers import DATA, PROJECT_TEMPLATE, build_file_tree, git
|
||||
|
||||
|
@ -4,9 +4,9 @@ from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from copier.main import run_copy
|
||||
from copier.template import DEFAULT_EXCLUDE
|
||||
from copier.types import StrOrPath
|
||||
from copier._main import run_copy
|
||||
from copier._template import DEFAULT_EXCLUDE
|
||||
from copier._types import StrOrPath
|
||||
|
||||
from .helpers import PROJECT_TEMPLATE, build_file_tree
|
||||
|
||||
|
@ -2,7 +2,7 @@ import pytest
|
||||
import yaml
|
||||
|
||||
import copier
|
||||
from copier.types import AnyByStrDict
|
||||
from copier._types import AnyByStrDict
|
||||
|
||||
from .helpers import build_file_tree
|
||||
|
||||
|
@ -34,7 +34,7 @@ def test_keyboard_interrupt(
|
||||
)
|
||||
worker = Worker(str(src), dst, defaults=False)
|
||||
|
||||
with patch("copier.main.unsafe_prompt", side_effect=side_effect):
|
||||
with patch("copier._main.unsafe_prompt", side_effect=side_effect):
|
||||
with pytest.raises(KeyboardInterrupt):
|
||||
worker.run_copy()
|
||||
|
||||
@ -58,7 +58,7 @@ def test_multiple_questions_interrupt(tmp_path_factory: pytest.TempPathFactory)
|
||||
worker = Worker(str(src), dst, defaults=False)
|
||||
|
||||
with patch(
|
||||
"copier.main.unsafe_prompt",
|
||||
"copier._main.unsafe_prompt",
|
||||
side_effect=[
|
||||
{"question1": "foobar"},
|
||||
{"question2": "yosemite"},
|
||||
|
@ -7,8 +7,8 @@ import pytest
|
||||
from plumbum import local
|
||||
|
||||
from copier import run_copy, run_update
|
||||
from copier._user_data import load_answersfile_data
|
||||
from copier.errors import UserMessageError
|
||||
from copier.user_data import load_answersfile_data
|
||||
|
||||
from .helpers import BRACKET_ENVOPS_JSON, PROJECT_TEMPLATE, build_file_tree, git
|
||||
|
||||
|
@ -4,8 +4,8 @@ import pytest
|
||||
from plumbum import local
|
||||
|
||||
from copier import run_copy, run_update
|
||||
from copier._user_data import load_answersfile_data
|
||||
from copier.errors import UnsafeTemplateError, UserMessageError
|
||||
from copier.user_data import load_answersfile_data
|
||||
|
||||
from .helpers import (
|
||||
COPIER_ANSWERS_FILE,
|
||||
|
@ -85,7 +85,7 @@ def test_minimum_version_update(
|
||||
def test_version_0_0_0_ignored(
|
||||
template_path: str, tmp_path: Path, monkeypatch: pytest.MonkeyPatch
|
||||
) -> None:
|
||||
monkeypatch.setattr("copier.template.copier_version", lambda: Version("0.0.0"))
|
||||
monkeypatch.setattr("copier._template.copier_version", lambda: Version("0.0.0"))
|
||||
# assert no error
|
||||
with warnings.catch_warnings():
|
||||
warnings.simplefilter("error")
|
||||
|
@ -5,8 +5,8 @@ import pexpect
|
||||
import pytest
|
||||
from plumbum import local
|
||||
|
||||
from copier._main import run_copy, run_recopy, run_update
|
||||
from copier.errors import InvalidTypeError
|
||||
from copier.main import run_copy, run_recopy, run_update
|
||||
|
||||
from .helpers import COPIER_PATH, Spawn, build_file_tree, expect_prompt, git, render
|
||||
|
||||
|
@ -13,8 +13,8 @@ import yaml
|
||||
from pexpect.popen_spawn import PopenSpawn
|
||||
from plumbum import local
|
||||
|
||||
from copier.types import StrOrPath
|
||||
from copier.user_data import load_answersfile_data
|
||||
from copier._types import StrOrPath
|
||||
from copier._user_data import load_answersfile_data
|
||||
|
||||
from .helpers import (
|
||||
BRACKET_ENVOPS,
|
||||
|
@ -5,9 +5,9 @@ import pytest
|
||||
from plumbum import local
|
||||
|
||||
from copier import run_copy, run_recopy
|
||||
from copier.cli import CopierApp
|
||||
from copier.user_data import load_answersfile_data
|
||||
from copier.vcs import get_git
|
||||
from copier._cli import CopierApp
|
||||
from copier._user_data import load_answersfile_data
|
||||
from copier._vcs import get_git
|
||||
|
||||
from .helpers import build_file_tree, git_save
|
||||
|
||||
|
@ -6,7 +6,7 @@ import pytest
|
||||
from plumbum import local
|
||||
|
||||
import copier
|
||||
from copier.user_data import load_answersfile_data
|
||||
from copier._user_data import load_answersfile_data
|
||||
|
||||
from .helpers import BRACKET_ENVOPS_JSON, SUFFIX_TMPL, build_file_tree, git, git_init
|
||||
|
||||
|
@ -7,7 +7,7 @@ import pytest
|
||||
import yaml
|
||||
|
||||
import copier
|
||||
from copier.cli import CopierApp
|
||||
from copier._cli import CopierApp
|
||||
|
||||
from .helpers import BRACKET_ENVOPS_JSON, SUFFIX_TMPL, build_file_tree
|
||||
|
||||
@ -161,7 +161,7 @@ def test_os_specific_tasks(
|
||||
)
|
||||
}
|
||||
)
|
||||
monkeypatch.setattr("copier.main.OS", os)
|
||||
monkeypatch.setattr("copier._main.OS", os)
|
||||
copier.run_copy(str(src), dst, unsafe=True)
|
||||
assert (dst / filename).exists()
|
||||
|
||||
|
@ -11,9 +11,9 @@ from pexpect.popen_spawn import PopenSpawn
|
||||
from plumbum import local
|
||||
|
||||
from copier import Worker
|
||||
from copier._types import AnyByStrDict
|
||||
from copier._user_data import load_answersfile_data
|
||||
from copier.errors import InvalidTypeError
|
||||
from copier.types import AnyByStrDict
|
||||
from copier.user_data import load_answersfile_data
|
||||
|
||||
from .helpers import (
|
||||
BRACKET_ENVOPS,
|
||||
|
@ -2,8 +2,8 @@ from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from copier.cli import CopierApp
|
||||
from copier.main import run_copy, run_recopy, run_update
|
||||
from copier._cli import CopierApp
|
||||
from copier._main import run_copy, run_recopy, run_update
|
||||
|
||||
from .helpers import build_file_tree, git
|
||||
|
||||
|
@ -5,7 +5,7 @@ from tempfile import TemporaryDirectory
|
||||
import pytest
|
||||
from poethepoet.app import PoeThePoet
|
||||
|
||||
from copier.tools import normalize_git_path
|
||||
from copier._tools import normalize_git_path
|
||||
|
||||
from .helpers import git
|
||||
|
||||
|
@ -8,11 +8,11 @@ import yaml
|
||||
from jinja2.ext import Extension
|
||||
from plumbum import local
|
||||
|
||||
from copier.cli import CopierApp
|
||||
from copier._cli import CopierApp
|
||||
from copier._main import run_copy, run_update
|
||||
from copier._types import AnyByStrDict
|
||||
from copier._user_data import load_answersfile_data
|
||||
from copier.errors import UnsafeTemplateError
|
||||
from copier.main import run_copy, run_update
|
||||
from copier.types import AnyByStrDict
|
||||
from copier.user_data import load_answersfile_data
|
||||
|
||||
from .helpers import build_file_tree, git
|
||||
|
||||
|
@ -10,11 +10,11 @@ import pexpect
|
||||
import pytest
|
||||
from plumbum import local
|
||||
|
||||
from copier.cli import CopierApp
|
||||
from copier._cli import CopierApp
|
||||
from copier._main import Worker, run_copy, run_update
|
||||
from copier._tools import normalize_git_path
|
||||
from copier._user_data import load_answersfile_data
|
||||
from copier.errors import UserMessageError
|
||||
from copier.main import Worker, run_copy, run_update
|
||||
from copier.tools import normalize_git_path
|
||||
from copier.user_data import load_answersfile_data
|
||||
|
||||
from .helpers import (
|
||||
BRACKET_ENVOPS_JSON,
|
||||
|
@ -8,10 +8,11 @@ import pytest
|
||||
from packaging.version import Version
|
||||
from plumbum import local
|
||||
|
||||
from copier import Worker, run_copy, run_update
|
||||
from copier import run_copy, run_update
|
||||
from copier._main import Worker
|
||||
from copier._user_data import load_answersfile_data
|
||||
from copier._vcs import checkout_latest_tag, clone, get_git_version, get_repo
|
||||
from copier.errors import ShallowCloneWarning
|
||||
from copier.user_data import load_answersfile_data
|
||||
from copier.vcs import checkout_latest_tag, clone, get_git_version, get_repo
|
||||
|
||||
from .helpers import git
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user