rename pluginset into page
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Wed, 13 Mar 2013 08:45:22 +0000 (09:45 +0100)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Wed, 13 Mar 2013 08:45:22 +0000 (09:45 +0100)
engine/page.py [moved from engine/pluginset.py with 96% similarity]
engine/plugin.py
trash/dashboard.py
trash/pluginview.py

similarity index 96%
rename from engine/pluginset.py
rename to engine/page.py
index be8c9ce..ad671ed 100644 (file)
@@ -6,14 +6,14 @@ import json
 from engine.prelude import Prelude
 from engine.manifoldapi import ManifoldAPI
 
-# decorator to deflect calls on this PluginSet to its prelude
+# decorator to deflect calls on this Page to its prelude
 def to_prelude (method):
     def actual (self, *args, **kwds):
         prelude_method=Prelude.__dict__[method.__name__]
         return prelude_method(self.prelude,*args, **kwds)
     return actual
 
-class PluginSet:
+class Page:
 
     def __init__ (self, request):
         self._plugins = {}
@@ -84,7 +84,7 @@ class PluginSet:
         
 
     #################### requirements/prelude management
-    # just forward to self.pluginset - see decorator above
+    # just forward to self.prelude - see decorator above
     @to_prelude
     def add_js_files (self):pass
     @to_prelude
index 99a3ff8..5d39216 100644 (file)
@@ -6,7 +6,7 @@ import json
 
 from django.template.loader import render_to_string
 
-from engine.pluginset import PluginSet
+from engine.page import Page
 from engine.prelude import Prelude
 
 #################### 
@@ -18,11 +18,11 @@ from engine.prelude import Prelude
 DEBUG= False
 #DEBUG= [ 'SliceList' ]
 
-# decorator to deflect calls on Plugin to its PluginSet
+# decorator to deflect calls on Plugin to its Prelude through self.page.prelude
 def to_prelude (method):
     def actual (self, *args, **kwds):
         prelude_method=Prelude.__dict__[method.__name__]
-        return prelude_method(self.pluginset.prelude,*args, **kwds)
+        return prelude_method(self.page.prelude,*args, **kwds)
     return actual
 
 class Plugin:
@@ -39,7 +39,7 @@ class Plugin:
     ########## 
     # Constructor
     #### mandatory
-    # . pluginset: the context of the request being served
+    # . page: the context of the request being served
     # . title: is used visually for displaying the widget
     #### optional
     # . togglable: whether it can be turned on and off (like PleKitToggle)
@@ -55,10 +55,11 @@ class Plugin:
     # p=Plugin(foo='bar')
     # which will result in 'foo' being accessible to the template engine
     # 
-    def __init__ (self, pluginset, title, domid=None,
+    def __init__ (self, page, title, domid=None,
                   visible=True, togglable=True, toggled=True, **settings):
-        self.pluginset = pluginset
+        self.page = page
         self.title=title
+        # callers can provide their domid for css'ing 
         if not domid: domid=Plugin.newdomid()
         self.domid=domid
         self.classname=self._py_classname()
@@ -76,7 +77,7 @@ class Plugin:
             for (k,v) in self.__dict__.items(): print "dbg %s:%s"%(k,v)
             print "%s init dbg .... END"%self.classname
         # do this only once the structure is fine
-        self.pluginset.record_plugin(self)
+        self.page.record_plugin(self)
 
     def _py_classname (self): 
         try:    return self.__class__.__name__
@@ -171,8 +172,8 @@ class Plugin:
                 if self.need_debug():
                     print "%s: handling requirement %s"%(self.classname,v)
                 method_name='add_'+k
-                method=PluginSet.__dict__[method_name]
-                method(self.pluginset,v)
+                method=Page.__dict__[method_name]
+                method(self.page,v)
         except AttributeError: 
             # most likely the object does not have that method defined, which is fine
             pass
@@ -182,7 +183,7 @@ class Plugin:
             pass
 
     #################### requirements/prelude management
-    # just forward to self.pluginset - see decorator above
+    # just forward to our prelude instance - see decorator above
     @to_prelude
     def add_js_files (self):pass
     @to_prelude
index 297133e..c61c6e7 100644 (file)
@@ -7,7 +7,7 @@ from django.shortcuts import render_to_response
 
 from django.contrib.auth.decorators import login_required
 
-from engine.pluginset import PluginSet
+from engine.page import Page
 from engine.manifoldquery import ManifoldQuery
 
 from plugins.slicelist import SliceList
@@ -18,7 +18,7 @@ from myslice.viewutils import topmenu_items, the_user
 @login_required
 def dashboard_view (request):
     
-    pluginset = PluginSet(request)
+    page = Page(request)
 
     slices_query = ManifoldQuery (action='get',
                                   method='slice',
@@ -29,10 +29,10 @@ def dashboard_view (request):
                                   # in addition this currently returns all slices anyways
                                   # filter = ...
                                   sort='slice_hrn',)
-    pluginset.enqueue_query (slices_query)
+    page.enqueue_query (slices_query)
 
     main_plugin = SliceList ( # setting visible attributes first
-        pluginset=pluginset,
+        page=page,
         title='Asynchroneous SliceList',
         header='slices list', 
         with_datatables=False,
@@ -66,7 +66,7 @@ def dashboard_view (request):
     ##########
     # lacks a/href to /slice/%s
     related_plugin = SliceList (
-        pluginset=pluginset,
+        page=page,
         title='Same request, other layout',
         domid='sidelist',
         with_datatables=True, 
@@ -78,17 +78,17 @@ def dashboard_view (request):
     template_env [ 'content_related' ] = related_plugin.render (request)
     
     # add our own css in the mix
-    pluginset.add_css_files ( 'css/dashboard.css')
+    page.add_css_files ( 'css/dashboard.css')
     
     # don't forget to run the requests
-    pluginset.exec_queue_asynchroneously ()
+    page.exec_queue_asynchroneously ()
 
     # xxx create another plugin with the same query and a different layout (with_datatables)
     # show that it worls as expected, one single api call to backend and 2 refreshed views
 
-    # the prelude object in pluginset contains a summary of the requirements() for all plugins
+    # the prelude object in page contains a summary of the requirements() for all plugins
     # define {js,css}_{files,chunks}
-    prelude_env = pluginset.template_env()
+    prelude_env = page.template_env()
     template_env.update(prelude_env)
     return render_to_response ('view-plugin.html',template_env,
                                context_instance=RequestContext(request))
index 413e126..3c717a1 100644 (file)
@@ -7,7 +7,7 @@ from django.shortcuts import render_to_response
 
 from django.contrib.auth.decorators import login_required
 
-from engine.pluginset import PluginSet
+from engine.page import Page
 
 from plugins.verticallayout import VerticalLayout
 from plugins.tabs import Tabs
@@ -21,49 +21,49 @@ from myslice.viewutils import hard_wired_slice_names, hard_wired_list, lorem_p,
 @login_required
 def test_plugin_view (request):
 
-    pluginset = PluginSet(request)
+    page = Page(request)
     
     # variables that will get passed to this template
     template_env = {}
     
     main_plugin = \
-        VerticalLayout ( pluginset=pluginset,
+        VerticalLayout ( page=page,
                          title='title for the vertical layout',
-                         sons = [ StaticList (pluginset=pluginset,
+                         sons = [ StaticList (page=page,
                                               title='StaticList - with datatables - starts toggled off',
                                               list=hard_wired_list, 
                                               header='Hard wired header', 
                                               foo='the value for foo',
                                               with_datatables=True,
                                               toggled=False),
-                                  Tabs (pluginset=pluginset,
+                                  Tabs (page=page,
                                         title='Sample Tabs',
                                         # *** we select this one to be the active tab ***
                                         active='raw2',
-                                        sons = [ Raw (pluginset=pluginset,
+                                        sons = [ Raw (page=page,
                                                       title='a raw plugin',domid='raw1',
                                                       togglable=False,
                                                       html= 3*lorem_p),
-                                                 StaticList(pluginset=pluginset,
+                                                 StaticList(page=page,
                                                             title='a slice list',
                                                             togglable=False,
                                                             header="static list but not togglable",
                                                             list=hard_wired_slice_names),
-                                                 Raw (pluginset=pluginset,
+                                                 Raw (page=page,
                                                       title='raw title',domid='raw2',
                                                       togglable=False,html=lorem) ]),
-                                  StaticList (pluginset=pluginset,
+                                  StaticList (page=page,
                                               title='SimpleList with slice names', 
                                               list=hard_wired_slice_names,
                                               ),
                                   QuickFilter (list=quickfilter_criterias,
-                                               pluginset=pluginset,
+                                               page=page,
                                                title='QuickFilter in main content') ] )
     # define 'content_main' to the template engine
     template_env [ 'content_main' ] = main_plugin.render(request)
 
     ##########
-    related_plugin = StaticList (pluginset=pluginset,
+    related_plugin = StaticList (page=page,
                                  title='SliceList plugin',domid='slicelist1',
                                  with_datatables='yes', 
                                  list=hard_wired_slice_names, 
@@ -77,11 +77,11 @@ def test_plugin_view (request):
     template_env [ 'username' ] = the_user (request) 
 
     # we don't have anythong asynchroneous, but that doesn't hurt...
-    pluginset.exec_queue_asynchroneously ()
+    page.exec_queue_asynchroneously ()
 
-    # the prelude object in pluginset contains a summary of the requirements() for all plugins
+    # the prelude object in page contains a summary of the requirements() for all plugins
     # define {js,css}_{files,chunks}
-    prelude_env = pluginset.template_env()
+    prelude_env = page.template_env()
     template_env.update(prelude_env)
     return render_to_response ('view-plugin.html',template_env,
                                context_instance=RequestContext(request))