You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ariatosca.apache.org by mx...@apache.org on 2016/11/22 09:17:55 UTC

[3/4] incubator-ariatosca git commit: hiding private atts

hiding private atts


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/01aebc28
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/01aebc28
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/01aebc28

Branch: refs/heads/ARIA-25-Storage-genericizing
Commit: 01aebc28353e8333ad65dddb6226c0b7e623f22c
Parents: cc54639
Author: mxmrlv <mx...@gmail.com>
Authored: Mon Nov 21 17:50:04 2016 +0200
Committer: mxmrlv <mx...@gmail.com>
Committed: Mon Nov 21 17:50:04 2016 +0200

----------------------------------------------------------------------
 aria/storage/__init__.py               | 58 +++++++++++++++--------------
 aria/storage/drivers.py                |  8 ++--
 aria/storage/structures.py             | 10 ++---
 tests/storage/test_model_storage.py    |  8 ++--
 tests/storage/test_models_api.py       |  2 +-
 tests/storage/test_resource_storage.py |  2 +-
 6 files changed, 46 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/01aebc28/aria/storage/__init__.py
----------------------------------------------------------------------
diff --git a/aria/storage/__init__.py b/aria/storage/__init__.py
index 9b17ffb..6353308 100644
--- a/aria/storage/__init__.py
+++ b/aria/storage/__init__.py
@@ -106,12 +106,8 @@ class ModelStorage(Storage):
         :param model_cls: the model to register.
         """
         model_name = _generate_lower_name(model_cls)
-        model_api = _ModelApi(model_name, self.driver, model_cls)
-        self.registered[model_name] = model_api
-
-        # for pointer_schema_register in model_api.pointer_mapping.values():
-        #     model_cls = pointer_schema_register.model_cls
-        #     self.register(model_cls)
+        model_api = _ModelApi(model_name, self._driver, model_cls)
+        self._registered[model_name] = model_api
 
 
 class _ModelApi(object):
@@ -125,22 +121,30 @@ class _ModelApi(object):
         """
         assert isinstance(driver, ModelDriver)
         assert issubclass(model_cls, Model)
-        self.name = name
-        self.driver = driver
-        self.model_cls = model_cls
+        self._name = name
+        self._driver = driver
+        self._model_cls = model_cls
+
+    @property
+    def name(self):
+        return self._name
+
+    @property
+    def model_cls(self):
+        return self._model_cls
 
     def __iter__(self):
         return self.iter()
 
     def __repr__(self):
-        return '{self.name}(driver={self.driver}, model={self.model_cls})'.format(self=self)
+        return '{self.name}(driver={self._driver}, model={self.model_cls})'.format(self=self)
 
     def create(self):
         """
         Creates the model in the storage.
         """
-        with self.driver as connection:
-            connection.create(name=self.name, model_cls=self.model_cls)
+        with self._driver as connection:
+            connection.create(name=self._name, model_cls=self._model_cls)
 
     def get(self, entry_id, **kwargs):
         """
@@ -150,12 +154,12 @@ class _ModelApi(object):
         :return: model instance
         :rtype: Model
         """
-        with self.driver as connection:
+        with self._driver as connection:
             data = connection.get(
-                name=self.name,
+                name=self._name,
                 entry_id=entry_id,
                 **kwargs)
-        return self.model_cls(**data)
+        return self._model_cls(**data)
 
     def store(self, entry, **kwargs):
         """
@@ -163,10 +167,10 @@ class _ModelApi(object):
 
         :param Model entry: the table/document to store.
         """
-        assert isinstance(entry, self.model_cls)
-        with self.driver as connection:
+        assert isinstance(entry, self._model_cls)
+        with self._driver as connection:
             connection.store(
-                name=self.name,
+                name=self._name,
                 entry_id=entry.id,
                 entry=entry,
                 **kwargs)
@@ -177,9 +181,9 @@ class _ModelApi(object):
 
         :param basestring entry_id: id of the entity to delete from storage.
         """
-        with self.driver as connection:
+        with self._driver as connection:
             connection.delete(
-                name=self.name,
+                name=self._name,
                 entry_id=entry_id,
                 **kwargs)
 
@@ -187,9 +191,9 @@ class _ModelApi(object):
         """
         Generator over the entries of model in storage.
         """
-        with self.driver as connection:
-            for data in connection.iter(name=self.name, **kwargs):
-                yield self.model_cls(**data)
+        with self._driver as connection:
+            for data in connection.iter(name=self._name, **kwargs):
+                yield self._model_cls(**data)
 
     def update(self, entry_id, **kwargs):
         """
@@ -199,9 +203,9 @@ class _ModelApi(object):
         :param kwargs: the fields to update.
         :return:
         """
-        with self.driver as connection:
+        with self._driver as connection:
             connection.update(
-                name=self.name,
+                name=self._name,
                 entry_id=entry_id,
                 **kwargs
             )
@@ -211,8 +215,8 @@ class ResourceApi(object):
     """
     Managing the resource in the storage, using the driver.
 
-    :param basestring name: the name of the resource.
     :param ResourceDriver driver: the driver which supports this resource in the storage.
+    :param basestring resource_name: the name of the resource.
     """
     def __init__(self, driver, resource_name):
         """
@@ -318,7 +322,7 @@ class ResourceStorage(Storage):
         Registers the resource type in the resource storage manager.
         :param resource: the resource to register.
         """
-        self.registered[resource] = ResourceApi(self.driver, resource_name=resource)
+        self._registered[resource] = ResourceApi(self._driver, resource_name=resource)
 
     def __getattr__(self, resource):
         """

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/01aebc28/aria/storage/drivers.py
----------------------------------------------------------------------
diff --git a/aria/storage/drivers.py b/aria/storage/drivers.py
index fc76fe0..d3106bb 100644
--- a/aria/storage/drivers.py
+++ b/aria/storage/drivers.py
@@ -90,7 +90,7 @@ class Driver(LoggerMixin):
         """
         pass
 
-    def create(self, name, model_cls, *args, **kwargs):
+    def create(self, name, *args, **kwargs):
         """
         Create table/document in storage by name.
         :param basestring name: name of table/document in storage.
@@ -357,7 +357,7 @@ class FileSystemResourceDriver(ResourceDriver, BaseFileSystemDriver):
             pass
         os.makedirs(self._join_path(name))
 
-    def data(self, entry_type, entry_id, path=None):
+    def data(self, entry_type, entry_id, path=None, **kwargs):
         """
         Retrieve the content of a file system storage resource.
 
@@ -379,7 +379,7 @@ class FileSystemResourceDriver(ResourceDriver, BaseFileSystemDriver):
         with open(resource, 'rb') as resource_file:
             return resource_file.read()
 
-    def download(self, entry_type, entry_id, destination, path=None):
+    def download(self, entry_type, entry_id, destination, path=None, **kwargs):
         """
         Download a specific file or dir from the file system resource storage.
 
@@ -397,7 +397,7 @@ class FileSystemResourceDriver(ResourceDriver, BaseFileSystemDriver):
         else:
             distutils.dir_util.copy_tree(resource, destination)                                     # pylint: disable=no-member
 
-    def upload(self, entry_type, entry_id, source, path=None):
+    def upload(self, entry_type, entry_id, source, path=None, **kwargs):
         """
         Uploads a specific file or dir to the file system resource storage.
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/01aebc28/aria/storage/structures.py
----------------------------------------------------------------------
diff --git a/aria/storage/structures.py b/aria/storage/structures.py
index 7396d00..3a8b289 100644
--- a/aria/storage/structures.py
+++ b/aria/storage/structures.py
@@ -305,20 +305,20 @@ class Storage(LoggerMixin):
     """
     def __init__(self, driver, items=(), **kwargs):
         super(Storage, self).__init__(**kwargs)
-        self.driver = driver
-        self.registered = OrderedDict()
+        self._driver = driver
+        self._registered = OrderedDict()
         for item in items:
             self.register(item)
         self.logger.debug('{name} object is ready: {0!r}'.format(
             self, name=self.__class__.__name__))
 
     def __repr__(self):
-        return '{name}(driver={self.driver})'.format(
+        return '{name}(driver={self._driver})'.format(
             name=self.__class__.__name__, self=self)
 
     def __getattr__(self, item):
         try:
-            return self.registered[item]
+            return self._registered[item]
         except KeyError:
             return super(Storage, self).__getattribute__(item)
 
@@ -326,7 +326,7 @@ class Storage(LoggerMixin):
         """
         Setup and create all storage items
         """
-        for name, api in self.registered.items():
+        for name, api in self._registered.items():
             try:
                 api.create()
                 self.logger.debug(

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/01aebc28/tests/storage/test_model_storage.py
----------------------------------------------------------------------
diff --git a/tests/storage/test_model_storage.py b/tests/storage/test_model_storage.py
index 1798a20..e6a83b1 100644
--- a/tests/storage/test_model_storage.py
+++ b/tests/storage/test_model_storage.py
@@ -32,7 +32,7 @@ def test_storage_base():
     driver = InMemoryModelDriver()
     storage = Storage(driver)
 
-    assert storage.driver == driver
+    assert storage._driver == driver
 
     with pytest.raises(AttributeError):
         storage.non_existent_attribute()
@@ -64,14 +64,14 @@ def test_storage_driver():
     storage.register(models.ProviderContext)
     storage.setup()
     pc = models.ProviderContext(context={}, name='context_name', id='id2')
-    storage.driver.store(name='provider_context', entry=pc, entry_id=pc.id)
+    storage._driver.store(name='provider_context', entry=pc, entry_id=pc.id)
 
-    assert storage.driver.get(
+    assert storage._driver.get(
         name='provider_context',
         entry_id='id2',
         model_cls=models.ProviderContext) == pc.fields_dict
 
-    assert [i for i in storage.driver.iter(name='provider_context')] == [pc.fields_dict]
+    assert [i for i in storage._driver.iter(name='provider_context')] == [pc.fields_dict]
     assert [i for i in storage.provider_context] == [pc]
 
     storage.provider_context.delete('id2')

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/01aebc28/tests/storage/test_models_api.py
----------------------------------------------------------------------
diff --git a/tests/storage/test_models_api.py b/tests/storage/test_models_api.py
index 4c54ab2..5db8da0 100644
--- a/tests/storage/test_models_api.py
+++ b/tests/storage/test_models_api.py
@@ -26,7 +26,7 @@ def test_models_api_base():
     driver.create(name='provider_context', model_cls=models.ProviderContext)
     table = _ModelApi('provider_context', driver, models.ProviderContext)
     assert repr(table) == (
-        '{table.name}(driver={table.driver}, '
+        '{table.name}(driver={table._driver}, '
         'model={table.model_cls})'.format(table=table))
     provider_context = models.ProviderContext(context={}, name='context_name', id='id')
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/01aebc28/tests/storage/test_resource_storage.py
----------------------------------------------------------------------
diff --git a/tests/storage/test_resource_storage.py b/tests/storage/test_resource_storage.py
index 918b270..6be4122 100644
--- a/tests/storage/test_resource_storage.py
+++ b/tests/storage/test_resource_storage.py
@@ -47,7 +47,7 @@ class TestResourceStorage(TestFileSystem):
         assert repr(storage) == 'ResourceStorage(driver={driver})'.format(
             driver=driver
         )
-        assert repr(storage.registered['blueprint']) == (
+        assert repr(storage._registered['blueprint']) == (
             'ResourceApi(driver={driver}, resource={resource_name})'.format(
                 driver=driver,
                 resource_name='blueprint'))