feat: add task key sub_tag

This commit is contained in:
2026-08-28 15:44:46 +03:00
parent a77a430d51
commit 5401f04485
10 changed files with 136 additions and 80 deletions
+12 -9
View File
@@ -5,14 +5,20 @@ from pathlib import Path
from typing import Self
from .common.logging_colored import ColoredFormatter
from .entry.entry import PartialTaskKey
from .manager import ProjectManager
class ProjectManagerRunner:
def __init__(self, *, path: Path, task: str, tag: str | None, verbose: int = 0):
def __init__(
self,
*,
path: Path,
task_key: PartialTaskKey,
verbose: int = 0,
):
self._path = path
self._task = task
self._tag = tag
self._task_key = task_key
self._verbose = verbose
@classmethod
@@ -39,7 +45,7 @@ class ProjectManagerRunner:
def run(self):
self._setup_logging(self._verbose)
manager = ProjectManager(self._path)
result = manager.run_task(self._task, self._tag)
result = manager.run_task(self._task_key)
if result["failed"] > 0:
sys.exit(1)
@@ -56,8 +62,5 @@ class ProjectManagerRunner:
parser.add_argument("-q", "--quiet", action="store_true")
args = parser.parse_args()
verbose = -1 if args.quiet else args.verbose
task = args.task
tag = None
if ":" in task:
task, tag = task.split(":")
return cls(path=args.path, task=task, tag=tag, verbose=verbose)
task_key = PartialTaskKey.from_str(args.task)
return cls(path=args.path, task_key=task_key, verbose=verbose)