From 19ec09726b0265b30fb756c405c47dc789983256 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Wed, 13 Mar 2013 09:45:22 +0100 Subject: [PATCH] rename pluginset into page --- engine/{pluginset.py => page.py} | 6 +++--- engine/plugin.py | 21 +++++++++++---------- trash/dashboard.py | 18 +++++++++--------- trash/pluginview.py | 28 ++++++++++++++-------------- 4 files changed, 37 insertions(+), 36 deletions(-) rename engine/{pluginset.py => page.py} (96%) diff --git a/engine/pluginset.py b/engine/page.py similarity index 96% rename from engine/pluginset.py rename to engine/page.py index be8c9ced..ad671edc 100644 --- a/engine/pluginset.py +++ b/engine/page.py @@ -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 diff --git a/engine/plugin.py b/engine/plugin.py index 99a3ff8a..5d392164 100644 --- a/engine/plugin.py +++ b/engine/plugin.py @@ -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 diff --git a/trash/dashboard.py b/trash/dashboard.py index 297133e6..c61c6e76 100644 --- a/trash/dashboard.py +++ b/trash/dashboard.py @@ -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)) diff --git a/trash/pluginview.py b/trash/pluginview.py index 413e126a..3c717a12 100644 --- a/trash/pluginview.py +++ b/trash/pluginview.py @@ -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)) -- 2.43.0