Skip to content

Commit 438f95f

Browse files
committed
Remove LocalStorageDriver import from stored_file.py and storage.py
1 parent 3b7d014 commit 438f95f

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

sqlalchemy_file/helpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from typing import Any, Dict, Union
88

99
INMEMORY_FILESIZE = 1024 * 1024
10-
10+
LOCAL_STORAGE_DRIVER_NAME = "Local Storage"
1111

1212
def get_metadata_file_obj(metadata: Dict[str, Any]) -> "SpooledTemporaryFile[bytes]":
1313
f = SpooledTemporaryFile(INMEMORY_FILESIZE)

sqlalchemy_file/storage.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
from typing import Any, Dict, Iterator, Optional
22

33
from libcloud.storage.base import Container
4-
from libcloud.storage.drivers.local import LocalStorageDriver
54
from libcloud.storage.types import ObjectDoesNotExistError
6-
from sqlalchemy_file.helpers import get_metadata_file_obj
5+
from sqlalchemy_file.helpers import get_metadata_file_obj, LOCAL_STORAGE_DRIVER_NAME
76
from sqlalchemy_file.stored_file import StoredFile
87

98

@@ -75,7 +74,7 @@ def save_file(
7574
) -> StoredFile:
7675
"""Save file into provided `upload_storage`"""
7776
container = cls.get(upload_storage)
78-
if isinstance(container.driver, LocalStorageDriver):
77+
if container.driver.name == LOCAL_STORAGE_DRIVER_NAME:
7978
obj = container.upload_object_via_stream(iterator=content, object_name=name)
8079
if metadata is not None:
8180
"""
@@ -115,7 +114,7 @@ def delete_file(cls, path: str) -> bool:
115114
"""
116115
upload_storage, file_id = path.split("/")
117116
obj = StorageManager.get(upload_storage).get_object(file_id)
118-
if isinstance(obj.driver, LocalStorageDriver):
117+
if obj.driver.name == LOCAL_STORAGE_DRIVER_NAME:
119118
"""Try deleting associated metadata file"""
120119
try:
121120
obj.container.get_object(f"{obj.name}.metadata.json").delete()

sqlalchemy_file/stored_file.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
from typing import Optional
44

55
from libcloud.storage.base import Object
6-
from libcloud.storage.drivers.local import LocalStorageDriver
76
from libcloud.storage.types import ObjectDoesNotExistError
87

8+
from sqlalchemy_file.helpers import LOCAL_STORAGE_DRIVER_NAME
9+
910

1011
class StoredFile:
1112
def __init__(self, obj: Object) -> None:
12-
if isinstance(obj.driver, LocalStorageDriver):
13+
if obj.driver.name == LOCAL_STORAGE_DRIVER_NAME:
1314
"""Retrieve metadata from associated metadata file"""
1415
try:
1516
metadata_obj = obj.container.get_object(f"{obj.name}.metadata.json")
@@ -31,7 +32,7 @@ def get_cdn_url(self) -> Optional[str]:
3132
return None
3233

3334
def read(self, n: int = -1) -> bytes:
34-
if isinstance(self.object.driver, LocalStorageDriver):
35+
if self.object.driver == LOCAL_STORAGE_DRIVER_NAME:
3536
return open(self.object.get_cdn_url(), "rb").read(n)
3637
_file = tempfile.NamedTemporaryFile()
3738
self.object.download(_file.name, overwrite_existing=True)

0 commit comments

Comments
 (0)