From 35ddc08ed2e2d6299550cd3250b816d4d0c415b6 Mon Sep 17 00:00:00 2001 From: Matthieu Monsch Date: Mon, 3 Mar 2025 19:15:04 -0800 Subject: [PATCH 1/3] refactor: rename manager --- poetry.lock | 2 +- src/git_draft/__main__.py | 10 +++---- src/git_draft/{manager.py => drafter.py} | 6 ++-- .../{manager_test.py => drafter_test.py} | 30 +++++++++---------- 4 files changed, 24 insertions(+), 24 deletions(-) rename src/git_draft/{manager.py => drafter.py} (99%) rename tests/git_draft/{manager_test.py => drafter_test.py} (69%) diff --git a/poetry.lock b/poetry.lock index 716d17f..18a83b3 100644 --- a/poetry.lock +++ b/poetry.lock @@ -921,7 +921,7 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no [[package]] name = "smmap" version = "5.0.2" -description = "A pure Python implementation of a sliding window memory map manager" +description = "A pure Python implementation of a sliding window memory map drafter" optional = false python-versions = ">=3.7" groups = ["main"] diff --git a/src/git_draft/__main__.py b/src/git_draft/__main__.py index 0fa5cba..6f659fe 100644 --- a/src/git_draft/__main__.py +++ b/src/git_draft/__main__.py @@ -13,7 +13,7 @@ ensure_state_home, open_editor, ) -from .manager import Manager +from .drafter import Drafter from .prompt import TemplatedPrompt from .store import Store @@ -113,7 +113,7 @@ def main() -> None: return logging.basicConfig(level=config.log_level, filename=str(log_path)) - manager = Manager.create( + drafter = Drafter.create( store=Store.persistent(), path=opts.root, operation_hook=print_operation, @@ -140,13 +140,13 @@ def main() -> None: else: prompt = sys.stdin.read() - manager.generate_draft( + drafter.generate_draft( prompt, bot, checkout=opts.checkout, reset=opts.reset ) elif command == "finalize": - manager.finalize_draft(delete=opts.delete) + drafter.finalize_draft(delete=opts.delete) elif command == "discard": - manager.discard_draft(delete=opts.delete) + drafter.discard_draft(delete=opts.delete) else: raise UnreachableError() diff --git a/src/git_draft/manager.py b/src/git_draft/drafter.py similarity index 99% rename from src/git_draft/manager.py rename to src/git_draft/drafter.py index 0742295..6071a00 100644 --- a/src/git_draft/manager.py +++ b/src/git_draft/drafter.py @@ -84,8 +84,8 @@ def _write(self, path: PurePosixPath, contents: str) -> None: ) -class Manager: - """Draft state manager""" +class Drafter: + """Draft state drafter""" def __init__( self, store: Store, repo: git.Repo, hook: OperationHook | None = None @@ -102,7 +102,7 @@ def create( store: Store, path: str | None = None, operation_hook: OperationHook | None = None, - ) -> Manager: + ) -> Drafter: return cls( store, git.Repo(path, search_parent_directories=True), diff --git a/tests/git_draft/manager_test.py b/tests/git_draft/drafter_test.py similarity index 69% rename from tests/git_draft/manager_test.py rename to tests/git_draft/drafter_test.py index c06fb3e..d2bc0cc 100644 --- a/tests/git_draft/manager_test.py +++ b/tests/git_draft/drafter_test.py @@ -4,7 +4,7 @@ import pytest from git_draft.bots import Action, Bot, Toolbox -import git_draft.manager as sut +import git_draft.drafter as sut from git_draft.store import Store @@ -15,27 +15,27 @@ def act(self, prompt: str, toolbox: Toolbox) -> Action: @pytest.fixture -def manager(repo: git.Repo) -> sut.Manager: - return sut.Manager(Store.in_memory(), repo) +def drafter(repo: git.Repo) -> sut.Drafter: + return sut.Drafter(Store.in_memory(), repo) -class TestManager: +class TestDrafter: def test_generate_draft( - self, manager: sut.Manager, repo: git.Repo + self, drafter: sut.Drafter, repo: git.Repo ) -> None: - manager.generate_draft("hello", _FakeBot()) + drafter.generate_draft("hello", _FakeBot()) commits = list(repo.iter_commits()) assert len(commits) == 2 def test_generate_then_discard_draft( - self, manager: sut.Manager, repo: git.Repo + self, drafter: sut.Drafter, repo: git.Repo ) -> None: - manager.generate_draft("hello", _FakeBot()) - manager.discard_draft() + drafter.generate_draft("hello", _FakeBot()) + drafter.discard_draft() assert len(list(repo.iter_commits())) == 1 def test_discard_restores_worktree( - self, manager: sut.Manager, repo: git.Repo + self, drafter: sut.Drafter, repo: git.Repo ) -> None: p1 = osp.join(repo.working_dir, "p1.txt") with open(p1, "w") as writer: @@ -44,11 +44,11 @@ def test_discard_restores_worktree( with open(p2, "w") as writer: writer.write("b1") - manager.generate_draft("hello", _FakeBot(), sync=True) + drafter.generate_draft("hello", _FakeBot(), sync=True) with open(p1, "w") as writer: writer.write("a2") - manager.discard_draft() + drafter.discard_draft() with open(p1) as reader: assert reader.read() == "a1" @@ -56,17 +56,17 @@ def test_discard_restores_worktree( assert reader.read() == "b1" def test_finalize_keeps_changes( - self, manager: sut.Manager, repo: git.Repo + self, drafter: sut.Drafter, repo: git.Repo ) -> None: p1 = osp.join(repo.working_dir, "p1.txt") with open(p1, "w") as writer: writer.write("a1") - manager.generate_draft("hello", _FakeBot(), checkout=True) + drafter.generate_draft("hello", _FakeBot(), checkout=True) with open(p1, "w") as writer: writer.write("a2") - manager.finalize_draft() + drafter.finalize_draft() with open(p1) as reader: assert reader.read() == "a2" From 025b1fe75dea83a1cd5c64d72cfe0d720ed61c8d Mon Sep 17 00:00:00 2001 From: Matthieu Monsch Date: Mon, 3 Mar 2025 19:18:38 -0800 Subject: [PATCH 2/3] fixup! refactor: rename manager --- src/git_draft/drafter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/git_draft/drafter.py b/src/git_draft/drafter.py index 6071a00..8d42be3 100644 --- a/src/git_draft/drafter.py +++ b/src/git_draft/drafter.py @@ -85,7 +85,7 @@ def _write(self, path: PurePosixPath, contents: str) -> None: class Drafter: - """Draft state drafter""" + """Draft state orchestrator""" def __init__( self, store: Store, repo: git.Repo, hook: OperationHook | None = None From c3a848ad1430ef89562d5a22ceda3d1266ed08db Mon Sep 17 00:00:00 2001 From: Matthieu Monsch Date: Mon, 3 Mar 2025 19:20:24 -0800 Subject: [PATCH 3/3] fixup! refactor: rename manager --- .github/workflows/ci.yaml | 1 + .github/workflows/pr.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5b96aa4..86579f3 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -9,6 +9,7 @@ jobs: test: name: Test uses: ./.github/workflows/test.yaml + secrets: inherit tag: name: Tag timeout-minutes: 2 diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 73fe8d5..9d08a7b 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -9,3 +9,4 @@ jobs: test: name: Test uses: ./.github/workflows/test.yaml + secrets: inherit