first usable curator UI
This commit is contained in:
parent
8f94c38309
commit
aa18dfc8f2
10 changed files with 677 additions and 10 deletions
|
|
@ -13,6 +13,7 @@ from repo_registry.core.models import (
|
|||
)
|
||||
from repo_registry.candidate_graph.generator import CandidateGraphGenerator
|
||||
from repo_registry.repo_ingestion.git import GitIngestionService
|
||||
from repo_registry.repo_ingestion.metadata import RepositoryMetadataExtractor
|
||||
from repo_registry.repo_scanning.scanner import DeterministicScanner
|
||||
from repo_registry.storage.sqlite import RegistryStore
|
||||
|
||||
|
|
@ -28,20 +29,27 @@ class RegistryService:
|
|||
self.store = store
|
||||
self.scanner = DeterministicScanner()
|
||||
self.ingestion = ingestion or GitIngestionService()
|
||||
self.metadata_extractor = RepositoryMetadataExtractor()
|
||||
self.candidate_generator = CandidateGraphGenerator()
|
||||
|
||||
def register_repository(
|
||||
self,
|
||||
*,
|
||||
name: str,
|
||||
url: str,
|
||||
name: str | None = None,
|
||||
description: str | None = None,
|
||||
branch: str = "main",
|
||||
) -> Repository:
|
||||
if name is None or description is None:
|
||||
checkout = self.ingestion.resolve(url, branch=branch)
|
||||
metadata = self.metadata_extractor.extract(checkout.source_path, url)
|
||||
else:
|
||||
metadata = None
|
||||
return self.store.create_repository(
|
||||
name=name,
|
||||
name=name or (metadata.name if metadata is not None else "repository"),
|
||||
url=url,
|
||||
description=description,
|
||||
description=description
|
||||
or (metadata.description if metadata is not None else None),
|
||||
branch=branch,
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue