def getWidgetsOfModule(self, params): module_id = int(params[0]) module = ModuleManager.get_module(module_id) widgets = module.get_widgets() return [{'id':widget.get_id(), 'name':widget.get_name(), 'gviews':widget.is_generating_views(), 'baseview':widget.get_baseview_id(), 'basespace':widget.get_baseview_space_id()} for widget in widgets]
def createWidget(self,params): module_id = int(params[0]) new_widget_name = unicode(params[1]) module = ModuleManager.get_module(module_id) module.create_widget(new_widget_name) return
def updateModule(self, params): nr = str(params[0]) module = ModuleManager.get_module(nr) module_meta = ModuleManager.get_meta_from_module(module) ModuleManager.invoke_update(module_meta) return True
def executeModuleMethod(self, params): module_id = params[0] method_name = params[1] parameter = params[2] module = ModuleManager.get_module(module_id) exec "res = module.%s(*parameter)"%method_name return res
def getGuiForModule(self, params): module_id = int(params[0]) module = ModuleManager.get_module(module_id) moduleguidata = base64.b64encode(module.get_guidata()) signature = Pki.sign(moduleguidata) return {'data':moduleguidata, 'signature':base64.b64encode(signature), 'libstring':Configuration.get_entry('global.modpath')}
def render(self): """ renders a CSS propertyset """ css = "" if self._typ == CSSPropertySet.GENERAL: selectorlist = {} for key, value in self.get_non_inherited().items(): splitselector = key.split(CSSPropertySet.SPLIT) if len(splitselector) == 1: splitselector.insert(0, "") selector, tag = splitselector if not selectorlist.has_key(selector): selectorlist[selector] = [] selectorlist[selector].append({"t": tag, "v": value["v"]}) for selector, values in selectorlist.items(): css += selector + "{\n" for value in values: css += value["t"] + ":" + value["v"] + ";\n" css += "}\n\n" elif self._typ == CSSPropertySet.MODULE: selectorlist = {} module_name = ModuleManager.get_module(self._module_id).get_name() # TODO: Assert That modulenames do not contain dots for key, value in self.get_non_inherited().items(): splitselector = key.split(CSSPropertySet.SPLIT) if len(splitselector) == 1: splitselector.insert(0, "") selector, tag = splitselector if not selectorlist.has_key(selector): selectorlist[selector] = [] selectorlist[selector].append({"t": tag, "v": value["v"]}) for selector, values in selectorlist.items(): css += "." + module_name + " " + selector + " {\n" for value in values: css += value["t"] + ":" + value["v"] + ";\n" css += "}\n\n" elif self._typ == CSSPropertySet.WIDGET: selectorlist = {} for key, value in self.get_non_inherited().items(): splitselector = key.split(CSSPropertySet.SPLIT) if len(splitselector) == 1: splitselector.insert(0, "") selector, tag = splitselector if not selectorlist.has_key(selector): selectorlist[selector] = [] selectorlist[selector].append({"t": tag, "v": value["v"]}) for selector, values in selectorlist.items(): css += ".w" + str(self.get_widget_id()) + " " + selector + " {\n" for value in values: css += value["t"] + ":" + value["v"] + ";\n" css += "}\n\n" elif self._typ == CSSPropertySet.SESSION: pass # TODO Implement sessiondependent behaviour return css