Source code for autossl.storage.local

import logging
import os
import shutil

from .. import exception, util
from . import base

logger = logging.getLogger(__name__)


[docs]class LocalFileStorage(base.Storage): def __init__(self, path, tracking_record_id=None, **kwargs): super(LocalFileStorage, self).__init__(tracking_record_id=tracking_record_id, **kwargs) self.path = util.Path(os.path.expandvars(path)) if not self.path.is_dir(): raise IOError("Invalid folder path specified: '%s'" % self.path)
[docs] def save_data(self, name, content=None, local_path=None, **kwargs): output_file_path = self.path / name if content is not None: if local_path: logger.warning("local_path path '{}' ignored as content also specified.".format(local_path)) output_file_path.write_bytes(content) else: shutil.copy(str(local_path), str(output_file_path))
[docs] def retrieve_data(self, name, **kwargs): file_path = self.path / name if not file_path.exists(): raise exception.NotFound("Path %s does not exists." % file_path) return file_path.read_bytes()