Page MenuHomeSoftware Heritage

No OneTemporary

diff --git a/swh/objstorage/__init__.py b/swh/objstorage/__init__.py
index 03c6d5a..25c995a 100644
--- a/swh/objstorage/__init__.py
+++ b/swh/objstorage/__init__.py
@@ -1,92 +1,92 @@
# Copyright (C) 2016 The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information
from .objstorage import ObjStorage
from .objstorage_pathslicing import PathSlicingObjStorage
from .objstorage_in_memory import InMemoryObjStorage
from .api.client import RemoteObjStorage
from .multiplexer import MultiplexerObjStorage, StripingObjStorage
from .multiplexer.filter import add_filters
__all__ = ['get_objstorage', 'ObjStorage']
_STORAGE_CLASSES = {
'pathslicing': PathSlicingObjStorage,
'remote': RemoteObjStorage,
- 'in-memory': InMemoryObjStorage,
+ 'memory': InMemoryObjStorage,
}
_STORAGE_CLASSES_MISSING = {
}
try:
from swh.objstorage.cloud.objstorage_azure import (
AzureCloudObjStorage,
PrefixedAzureCloudObjStorage,
)
_STORAGE_CLASSES['azure'] = AzureCloudObjStorage
_STORAGE_CLASSES['azure-prefixed'] = PrefixedAzureCloudObjStorage
except ImportError as e:
_STORAGE_CLASSES_MISSING['azure'] = e.args[0]
_STORAGE_CLASSES_MISSING['azure-prefixed'] = e.args[0]
try:
from swh.objstorage.objstorage_rados import RADOSObjStorage
_STORAGE_CLASSES['rados'] = RADOSObjStorage
except ImportError as e:
_STORAGE_CLASSES_MISSING['rados'] = e.args[0]
def get_objstorage(cls, args):
""" Create an ObjStorage using the given implementation class.
Args:
cls (str): objstorage class unique key contained in the
_STORAGE_CLASSES dict.
args (dict): arguments for the required class of objstorage
that must match exactly the one in the `__init__` method of the
class.
Returns:
subclass of ObjStorage that match the given `storage_class` argument.
Raises:
ValueError: if the given storage class is not a valid objstorage
key.
"""
if cls in _STORAGE_CLASSES:
return _STORAGE_CLASSES[cls](**args)
else:
raise ValueError('Storage class {} is not available: {}'.format(
cls,
_STORAGE_CLASSES_MISSING.get(cls, 'unknown name')))
def _construct_filtered_objstorage(storage_conf, filters_conf):
return add_filters(
get_objstorage(**storage_conf),
filters_conf
)
_STORAGE_CLASSES['filtered'] = _construct_filtered_objstorage
def _construct_multiplexer_objstorage(objstorages):
storages = [get_objstorage(**conf)
for conf in objstorages]
return MultiplexerObjStorage(storages)
_STORAGE_CLASSES['multiplexer'] = _construct_multiplexer_objstorage
def _construct_striping_objstorage(objstorages):
storages = [get_objstorage(**conf)
for conf in objstorages]
return StripingObjStorage(storages)
_STORAGE_CLASSES['striping'] = _construct_striping_objstorage
diff --git a/swh/objstorage/tests/test_objstorage_in_memory.py b/swh/objstorage/tests/test_objstorage_in_memory.py
index 47a2446..e0ba1ca 100644
--- a/swh/objstorage/tests/test_objstorage_in_memory.py
+++ b/swh/objstorage/tests/test_objstorage_in_memory.py
@@ -1,16 +1,16 @@
-# Copyright (C) 2015-2016 The Software Heritage developers
+# Copyright (C) 2015-2018 The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information
import unittest
-from swh.objstorage.objstorage_in_memory import InMemoryObjStorage
+from swh.objstorage import get_objstorage
from .objstorage_testing import ObjStorageTestFixture
class TestInMemoryObjStorage(ObjStorageTestFixture, unittest.TestCase):
def setUp(self):
super().setUp()
- self.storage = InMemoryObjStorage()
+ self.storage = get_objstorage(cls='memory', args={})

File Metadata

Mime Type
text/x-diff
Expires
Jul 4 2025, 6:53 PM (5 w, 6 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3272990

Event Timeline