[Kimchi-devel] [PATCH 1/5] Create a new common collection named SimpleCollection

Aline Manera alinefm at linux.vnet.ibm.com
Thu Apr 17 21:04:40 UTC 2014


From: Aline Manera <alinefm at br.ibm.com>

SimpleCollection is a collection of information that does not have a
Resource definition.
It can be useful in other situations so move it to a common place.

Signed-off-by: Aline Manera <alinefm at br.ibm.com>
---
 src/kimchi/control/base.py    |   17 +++++++++++++++++
 src/kimchi/control/plugins.py |   19 ++-----------------
 2 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/src/kimchi/control/base.py b/src/kimchi/control/base.py
index 320239b..f8a5210 100644
--- a/src/kimchi/control/base.py
+++ b/src/kimchi/control/base.py
@@ -302,3 +302,20 @@ class AsyncCollection(Collection):
         task = create(*args)
         cherrypy.response.status = 202
         return kimchi.template.render("Task", task)
+
+
+class SimpleCollection(Collection):
+    """
+    A Collection without Resource definition
+    """
+    def __init__(self, model):
+        super(SimpleCollection, self).__init__(model)
+
+    def get(self, filter_params):
+        res_list = []
+        try:
+            get_list = getattr(self.model, model_fn(self, 'get_list'))
+            res_list = get_list(*self.model_args)
+        except AttributeError:
+            pass
+        return kimchi.template.render(get_class_name(self), res_list)
diff --git a/src/kimchi/control/plugins.py b/src/kimchi/control/plugins.py
index 12c621e..6399e7c 100644
--- a/src/kimchi/control/plugins.py
+++ b/src/kimchi/control/plugins.py
@@ -17,26 +17,11 @@
 # License along with this library; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
 
-import kimchi.template
-from kimchi.control.base import Collection
-from kimchi.control.utils import get_class_name, model_fn
+from kimchi.control.base import SimpleCollection
 from kimchi.control.utils import UrlSubNode
 
 
 @UrlSubNode("plugins")
-class Plugins(Collection):
+class Plugins(SimpleCollection):
     def __init__(self, model):
         super(Plugins, self).__init__(model)
-
-    @property
-    def data(self):
-        return self.info
-
-    def get(self, filter_params):
-        res_list = []
-        try:
-            get_list = getattr(self.model, model_fn(self, 'get_list'))
-            res_list = get_list(*self.model_args)
-        except AttributeError:
-            pass
-        return kimchi.template.render(get_class_name(self), res_list)
-- 
1.7.10.4




More information about the Kimchi-devel mailing list