From 03a6611c862fe7d547ae1aff4835fd7dd0d3b575 Mon Sep 17 00:00:00 2001 From: msramalho <19508417+msramalho@users.noreply.github.com> Date: Tue, 3 May 2022 20:33:02 +0200 Subject: [PATCH] adds local storage --- storages/__init__.py | 1 + storages/local_storage.py | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 storages/local_storage.py diff --git a/storages/__init__.py b/storages/__init__.py index 3054d36..8b39d7d 100644 --- a/storages/__init__.py +++ b/storages/__init__.py @@ -1,3 +1,4 @@ # we need to explicitly expose the available imports here from .base_storage import * +from .local_storage import * from .s3_storage import * \ No newline at end of file diff --git a/storages/local_storage.py b/storages/local_storage.py new file mode 100644 index 0000000..0dcdaef --- /dev/null +++ b/storages/local_storage.py @@ -0,0 +1,20 @@ +import os +from .base_storage import Storage + + +class LocalStorage(Storage): + def __init__(self, folder): + self.folder = folder + if len(self.folder) and self.folder[-1] != '/': + self.folder += '/' + + def get_cdn_url(self, key): + return self.folder + key + + def exists(self, key): + return os.path.isfile(self.get_cdn_url(key)) + + def uploadf(self, file, key, **kwargs): + path = self.get_cdn_url(key) + with open(path, "wb") as outf: + outf.write(file.read())