import os
from os.path import join
from pathlib import Path

ROOT = Path("/srv/uploads")


def save(request, root, data):
    target = root / request.filename  # cotterpin:expect
    target.write_bytes(data)


def load(entry, base_dir):
    with open(os.path.join(base_dir, entry["path"])) as handle:  # cotterpin:expect
        return handle.read()


class Store:
    def __init__(self, root):
        self.root = Path(root)

    def read(self, row):
        return (self.root / row["file"]).read_text()  # cotterpin:expect


def imported_join(repo, manifest):
    return join(repo, manifest.output)  # cotterpin:expect
