Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .test.env
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
INPUT_DIR=tests/resources/datastores/TEST_DATASTORE_input
WORKING_DIR=tests/resources/datastores/TEST_DATASTORE_working
DATASTORE_DIR=tests/resources/datastores/TEST_DATASTORE
RSA_KEYS_DIRECTORY=tests/resources/rsa_keys
PSEUDONYM_SERVICE_URL=http://mock.pseudonym.service
DATASTORE_API_URL=http://mock.job.service
NUMBER_OF_WORKERS=4
Expand Down
2 changes: 1 addition & 1 deletion job_executor/adapter/datastore_api/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

from pydantic import model_validator

from job_executor.adapter.local_storage.models.datastore_versions import (
from job_executor.adapter.fs.models.datastore_versions import (
DatastoreVersion,
)
from job_executor.common.models import CamelModel
Expand Down
49 changes: 49 additions & 0 deletions job_executor/adapter/fs/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import shutil
from pathlib import Path
from typing import Protocol

from job_executor.adapter.fs.datastore_files import DatastoreDirectory
from job_executor.adapter.fs.input_files import InputDirectory
from job_executor.adapter.fs.working_files import WorkingDirectory


class FileSystemAdapter(Protocol):
datastore_dir: DatastoreDirectory
working_dir: WorkingDirectory
input_dir: InputDirectory

def move_working_dir_parquet_to_datastore(
self, dataset_name: str
) -> None: ...


class LocalStorageAdapter:
datastore_dir: DatastoreDirectory
working_dir: WorkingDirectory
input_dir: InputDirectory

def __init__(self, datastore_dir_path: Path) -> None:
self.datastore_dir = DatastoreDirectory(datastore_dir_path)
self.working_dir = WorkingDirectory(
Path(f"{datastore_dir_path}_working")
)
self.input_dir = InputDirectory(Path(f"{datastore_dir_path}_input"))

def move_working_dir_parquet_to_datastore(self, dataset_name: str) -> None:
"""
Moves the given parquet DRAFT file from the working directory to
the appropriate datastore sub directory.

* dataset_name: str - name of dataset
"""
working_dir_parquet_path = self.working_dir._get_draft_parquet_path(
dataset_name
)
shutil.move(
working_dir_parquet_path,
(
self.datastore_dir.data_dir
/ dataset_name
/ working_dir_parquet_path.parts[-1]
),
)
Loading