make it easier to subclass 3.5
authorAurelien Campeas <aurelien.campeas@logilab.fr>
Thu, 17 Sep 2009 19:43:42 +0200
branch3.5
changeset 3299 cb543d6bd0e6
parent 3294 5047b2566634
child 3301 1050fcfdb5cf
make it easier to subclass
web/formfields.py
web/views/treeview.py
--- a/web/formfields.py	Thu Sep 17 16:16:00 2009 +0200
+++ b/web/formfields.py	Thu Sep 17 19:43:42 2009 +0200
@@ -165,6 +165,7 @@
         try:
             return widget.render(form, self, renderer)
         except TypeError:
+            raise
             warn('widget.render now take the renderer as third argument, please update %s implementation'
                  % widget.__class__.__name__, DeprecationWarning)
             return widget.render(form, self)
--- a/web/views/treeview.py	Thu Sep 17 16:16:00 2009 +0200
+++ b/web/views/treeview.py	Thu Sep 17 19:43:42 2009 +0200
@@ -24,7 +24,7 @@
     css_classes = 'treeview widget'
     title = _('tree view')
 
-    def call(self, subvid=None, treeid=None, initial_load=True, initial_thru_ajax=False):
+    def _init_params(self, subvid, treeid, initial_load, initial_thru_ajax):
         if subvid is None:
             subvid = self.req.form.pop('treesubvid', 'oneline') # consume it
         if treeid is None:
@@ -34,6 +34,11 @@
                 treeid = make_uid('throw away uid')
         toplevel_thru_ajax = self.req.form.pop('treeview_top', False) or initial_thru_ajax
         toplevel = toplevel_thru_ajax or (initial_load and not self.req.form.get('fname'))
+        return subvid, treeid, toplevel_thru_ajax, toplevel
+
+    def call(self, subvid=None, treeid=None, initial_load=True, initial_thru_ajax=False):
+        subvid, treeid, toplevel_thru_ajax, toplevel = self._init_params(
+            subvid, treeid, initial_load, initial_thru_ajax)
         ulid = ' '
         if toplevel:
             ulid = ' id="tree-%s"' % treeid