[rhmessaging-commits] rhmessaging commits: r1634 - in mgmt/cumin: python/cumin and 1 other directories.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Sun Feb 3 12:33:42 EST 2008


Author: justi9
Date: 2008-02-03 12:33:39 -0500 (Sun, 03 Feb 2008)
New Revision: 1634

Modified:
   mgmt/cumin/bin/cumin-test
   mgmt/cumin/python/cumin/widgets.py
   mgmt/cumin/python/wooly/__init__.py
Log:
Adds an api for "args" to widgets, args being for use in the lifecycle
of a single request.

Renames some attributes on CuminView.



Modified: mgmt/cumin/bin/cumin-test
===================================================================
--- mgmt/cumin/bin/cumin-test	2008-02-03 02:45:22 UTC (rev 1633)
+++ mgmt/cumin/bin/cumin-test	2008-02-03 17:33:39 UTC (rev 1634)
@@ -60,7 +60,7 @@
     config.load_file(os.path.join(os.path.expanduser("~"), ".cumin.conf"))
     config.load_args(sys.argv)
 
-    config.show()
+    config.prt()
 
     home = os.environ["CUMIN_HOME"]
     data = config.get("data")

Modified: mgmt/cumin/python/cumin/widgets.py
===================================================================
--- mgmt/cumin/python/cumin/widgets.py	2008-02-03 02:45:22 UTC (rev 1633)
+++ mgmt/cumin/python/cumin/widgets.py	2008-02-03 17:33:39 UTC (rev 1634)
@@ -19,9 +19,9 @@
         super(CuminFrame, self).__init__(app, name)
 
         self.__param = None
-        self.__view_mode = None
-        self.__edit_mode = None
-        self.__remove_mode = None
+        self.__view = None
+        self.__edit = None
+        self.__remove = None
 
     def set_object_parameter(self, param):
         self.__param = param
@@ -34,26 +34,29 @@
         return self.__param.set(session, object)
 
     def set_view_mode(self, mode):
-        self.__view_mode = mode
+        self.__view = mode
 
     def show_view(self, session):
-        return self.show_mode(session, self.__view_mode)
+        return self.show_mode(session, self.__view)
 
     def set_edit_mode(self, mode):
-        self.__edit_mode = mode
+        self.__edit = mode
 
     def show_edit(self, session):
-        return self.show_mode(session, self.__edit_mode)
+        return self.show_mode(session, self.__edit)
 
     def set_remove_mode(self, mode):
-        self.__remove_mode = mode
+        self.__remove = mode
 
     def show_remove(self, session):
-        return self.show_mode(session, self.__remove_mode)
+        return self.show_mode(session, self.__remove)
 
     def do_process(self, session, object):
         self.page().get_frames(session).append(self)
 
+        if self.__param:
+            self.set(session, "object", self.__param.get(session))
+
         super(CuminFrame, self).do_process(session, object)
 
     def render_href(self, session, object):
@@ -85,7 +88,7 @@
         self.submit.set_tab_index(200)
         self.add_child(self.submit)
 
-    def do_process(self, session, object):        
+    def do_process(self, session, object):
         self.page().set_modal(session, True)
             
         if self.cancel.get(session):

Modified: mgmt/cumin/python/wooly/__init__.py
===================================================================
--- mgmt/cumin/python/wooly/__init__.py	2008-02-03 02:45:22 UTC (rev 1633)
+++ mgmt/cumin/python/wooly/__init__.py	2008-02-03 17:33:39 UTC (rev 1634)
@@ -102,9 +102,12 @@
         self.__errors_tmpl = Template(self, "errors_html")
         self.__error_message_tmpl = Template(self, "error_message_html")
 
-        self.errors = self.ErrorsAttribute(app, "errors")
-        self.add_attribute(self.errors)
+        self.__errors = self.ErrorsAttribute(app, "errors")
+        self.add_attribute(self.__errors)
 
+        self.args = self.ArgsAttribute(app, "args")
+        self.add_attribute(self.args)
+
         self.__ancestors = None
         self.__path = None
         self.__page = None
@@ -122,6 +125,11 @@
         def get_default(self, session):
             return list()
 
+    class ArgsAttribute(Attribute):
+        def get_default(self, session):
+            if self.widget.parent:
+                return ArgsDict(self.widget.parent.args)
+
     def ancestors(self):
         if self.__ancestors is None:
             if self.parent is None:
@@ -210,11 +218,18 @@
                 return str
 
     def get_errors(self, session):
-        return self.errors.get(session)
+        return self.__errors.get(session)
 
     def add_error(self, session, error):
-        self.errors.get(session).append(error)
+        self.__errors.get(session).append(error)
 
+    def get(self, session, name):
+        return self.args.get(session).get(name)
+
+    def set(self, session, name, value):
+        self.args.get(session)[name] = value
+        return value
+
     def get_saved_parameters(self, session):
         params = list()
         params.extend(self.parameters)
@@ -820,3 +835,17 @@
 
         for call in self.callees:
             call.write(writer)
+
+class ArgsDict(dict):
+    def __init__(self, parent):
+        super(ArgsDict, self).__init__()
+        
+        self.__parent = parent
+
+    def __getitem__(self, key):
+        value = super(ArgsDict, self).__getitem__(key)
+
+        if value is None and self.__parent:
+            value = self.__parent.__getitem__(key)
+
+        return value




More information about the rhmessaging-commits mailing list