| """Repozitorija redaktors aģentam.""" |
|
|
| from __future__ import annotations |
|
|
| import logging |
| from pathlib import Path |
|
|
| logger = logging.getLogger(__name__) |
|
|
|
|
| class RepoEditor: |
| """Lasa un raksta failus repozitorijā.""" |
|
|
| def __init__(self, base_path: str = ".") -> None: |
| self.base = Path(base_path).resolve() |
|
|
| def read_file(self, path: str) -> str: |
| """Lasa faila saturu.""" |
| full = self.base / path |
| return full.read_text(encoding="utf-8") |
|
|
| def write_file(self, path: str, content: str) -> None: |
| """Raksta failu.""" |
| full = self.base / path |
| full.parent.mkdir(parents=True, exist_ok=True) |
| full.write_text(content, encoding="utf-8") |
| logger.info("Uzrakstīts fails: %s", full) |
|
|
| def list_files(self, pattern: str = "**/*") -> list[str]: |
| """Saraksta failus pēc pattern.""" |
| return [str(p.relative_to(self.base)) for p in self.base.glob(pattern) if p.is_file()] |
|
|