Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 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