e91780169e
- Create gitea/issues_client.py with IssuesClient class (9 methods) - Create gitea/prs_client.py with PullRequestsClient class (17 methods) - Create gitea/files_client.py with FilesClient class (4 methods) - Create gitea/notifications_client.py with NotificationsClient class (2 methods) - Create gitea/repos_client.py with ReposClient class (2 methods) - Create gitea/__init__.py to export all client classes - Remove delegation methods from GiteaClient (now ~70 lines) - Update all callers to use sub-clients (client.issues, client.prs, etc.) - Update test files to mock sub-client attributes GiteaClient is now a facade that provides access to focused sub-clients: - repos: Repository operations (ReposClient) - issues: Issue operations (IssuesClient) - prs: Pull request operations (PullRequestsClient) - files: File and git ref operations (FilesClient) - notifications: Notification operations (NotificationsClient) Refs: #godclass-refactor
17 lines
528 B
Python
17 lines
528 B
Python
from typing import Any
|
|
from gitea.client import GiteaClient
|
|
|
|
|
|
class GitTools:
|
|
"""Tools for Gitea git ref operations."""
|
|
|
|
def __init__(self, client: GiteaClient) -> None:
|
|
self._client = client
|
|
|
|
def create_branch(self, owner: str, repo: str, ref: str, sha: str) -> str:
|
|
try:
|
|
self._client.files.create_ref(owner, repo, ref, sha)
|
|
return f"Branch '{ref}' created successfully in {owner}/{repo}."
|
|
except Exception as e:
|
|
return f"Error creating branch: {str(e)}"
|