refact: move repository to data_repository
This commit is contained in:
parent
bb691acc14
commit
1a49158afa
@ -5,7 +5,7 @@ from plesna.graph.graph_set import GraphSet
|
||||
from plesna.models.flux import Flux, FluxMetaData
|
||||
from plesna.models.graphs import Node
|
||||
from plesna.models.libs.flux_graph import flux_to_edgeonset
|
||||
from plesna.storage.repository.repository import Repository
|
||||
from plesna.storage.data_repository.data_repository import DataRepository
|
||||
|
||||
|
||||
class DataPlateformError(Exception):
|
||||
@ -18,7 +18,7 @@ class DataPlateform:
|
||||
self._fluxes = {}
|
||||
self._repositories = {}
|
||||
|
||||
def add_repository(self, repository: Repository) -> str:
|
||||
def add_repository(self, repository: DataRepository) -> str:
|
||||
if repository.id in self._repositories:
|
||||
raise DataPlateformError("The repository {repository.id} already exists")
|
||||
|
||||
@ -29,7 +29,7 @@ class DataPlateform:
|
||||
def repositories(self) -> list[str]:
|
||||
return list(self._repositories)
|
||||
|
||||
def repository(self, id: str) -> Repository:
|
||||
def repository(self, id: str) -> DataRepository:
|
||||
return self._repositories[id]
|
||||
|
||||
def add_flux(self, name: str, flux: Flux) -> str:
|
||||
|
@ -3,7 +3,7 @@ import abc
|
||||
from plesna.models.storage import Partition, Schema, Table
|
||||
|
||||
|
||||
class Repository:
|
||||
class DataRepository:
|
||||
def __init__(self, id: str, name: str):
|
||||
self._id = id
|
||||
self._name = name
|
@ -3,8 +3,8 @@ from pathlib import Path
|
||||
from pydantic import BaseModel, computed_field
|
||||
|
||||
from plesna.libs.string_tools import extract_values_from_pattern
|
||||
from plesna.models.storage import Partition, Schema, Table
|
||||
from plesna.storage.repository.repository import Repository
|
||||
from plesna.models.storage import Schema, Table
|
||||
from plesna.storage.data_repository.data_repository import DataRepository
|
||||
|
||||
|
||||
class FSTable(BaseModel):
|
||||
@ -58,8 +58,8 @@ class FSRepositoryError(ValueError):
|
||||
pass
|
||||
|
||||
|
||||
class FSRepository(Repository):
|
||||
"""Repository based on files tree structure
|
||||
class FSDataRepository(DataRepository):
|
||||
"""Data Repository based on files tree structure
|
||||
|
||||
- first level: schemas
|
||||
- second level: tables
|
@ -6,13 +6,13 @@ import pytest
|
||||
from plesna.dataplatform import DataPlateform
|
||||
from plesna.models.graphs import Edge, EdgeOnSet, Node
|
||||
from plesna.models.flux import Flux, Transformation
|
||||
from plesna.storage.repository.fs_repository import FSRepository
|
||||
from plesna.storage.data_repository.fs_data_repository import FSDataRepository
|
||||
|
||||
FIXTURE_DIR = Path(__file__).parent.parent / Path("raw_datas")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def repository(tmp_path) -> FSRepository:
|
||||
def repository(tmp_path) -> FSDataRepository:
|
||||
example_src = FIXTURE_DIR
|
||||
assert example_src.exists()
|
||||
|
||||
@ -24,11 +24,11 @@ def repository(tmp_path) -> FSRepository:
|
||||
silver_path = Path(tmp_path) / "silver"
|
||||
silver_path.mkdir()
|
||||
|
||||
return FSRepository("test", "test", tmp_path)
|
||||
return FSDataRepository("test", "test", tmp_path)
|
||||
|
||||
|
||||
def test_add_repository(
|
||||
repository: FSRepository,
|
||||
repository: FSDataRepository,
|
||||
):
|
||||
dp = DataPlateform()
|
||||
dp.add_repository(repository)
|
||||
@ -39,7 +39,7 @@ def test_add_repository(
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def copy_flux(repository: FSRepository) -> Flux:
|
||||
def copy_flux(repository: FSDataRepository) -> Flux:
|
||||
raw_username = [repository.table("test-raw-username")]
|
||||
bronze_username = [repository.table("test-bronze-username")]
|
||||
|
||||
@ -62,7 +62,7 @@ def copy_flux(repository: FSRepository) -> Flux:
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def foo_flux(repository: FSRepository) -> Flux:
|
||||
def foo_flux(repository: FSDataRepository) -> Flux:
|
||||
src = [
|
||||
repository.table("test-raw-username"),
|
||||
repository.table("test-raw-recovery"),
|
||||
@ -84,7 +84,7 @@ def foo_flux(repository: FSRepository) -> Flux:
|
||||
return flux
|
||||
|
||||
|
||||
def test_add_flux(repository: FSRepository, copy_flux: Flux):
|
||||
def test_add_flux(repository: FSDataRepository, copy_flux: Flux):
|
||||
dataplatform = DataPlateform()
|
||||
dataplatform.add_repository(repository)
|
||||
|
||||
@ -99,7 +99,7 @@ def test_add_flux(repository: FSRepository, copy_flux: Flux):
|
||||
|
||||
@pytest.fixture
|
||||
def dataplatform(
|
||||
repository: FSRepository,
|
||||
repository: FSDataRepository,
|
||||
foo_flux: Flux,
|
||||
copy_flux: Flux,
|
||||
) -> DataPlateform:
|
||||
|
@ -3,7 +3,7 @@ from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from plesna.storage.repository.fs_repository import FSRepository
|
||||
from plesna.storage.data_repository.fs_data_repository import FSDataRepository
|
||||
|
||||
FIXTURE_DIR = Path(__file__).parent.parent / Path("./raw_datas/")
|
||||
|
||||
@ -20,7 +20,7 @@ def location(tmp_path):
|
||||
|
||||
|
||||
def test_init(location):
|
||||
repo = FSRepository("example", "example", location)
|
||||
repo = FSDataRepository("example", "example", location)
|
||||
assert repo.ls() == [
|
||||
"schema",
|
||||
]
|
||||
@ -44,8 +44,8 @@ def test_init(location):
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def repository(location) -> FSRepository:
|
||||
return FSRepository("repo_id", "example", location)
|
||||
def repository(location) -> FSDataRepository:
|
||||
return FSDataRepository("repo_id", "example", location)
|
||||
|
||||
|
||||
def test_list_schemas(repository):
|
Loading…
Reference in New Issue
Block a user