def activate(self,iname,active): if active: logging.debug("$$$$$$$$$$$$$$$$$$$$$") logging.debug(iname) plugin=self.getPluginByName(iname) logging.debug("$$$$$$$$$$$$$$$$$$$$$") logging.debug(str(plugin)+"###"+iname) if plugin: if (iname not in self.active_list): self.active_list.append(iname) OptionSet.setValue("PluginActive",self.active_list) plugin.active=active #add filter for k,v in plugin._filter.items(): if self._filter_plugins.has_key(k): if not v in self._filter_plugins[k]: self._filter_plugins[k].append(v) #add action for k,v in plugin._action.items(): if self._action_plugins.has_key(k): if not v in self._action_plugins[k]: self._action_plugins[k].append(v) #if self.blog.application: # self.add_urlhandler(plugin,self.blog.application) if hasattr(self.plugin_util, 'addUrlHandler'): self.add_urlhandlers(plugin) else: plugin=self.getPluginByName(iname) if plugin: if (iname in self.active_list): self.active_list.remove(iname) OptionSet.setValue("PluginActive",self.active_list) plugin.active=active #remove filter for k,v in plugin._filter.items(): if self._filter_plugins.has_key(k): if v in self._filter_plugins[k]: self._filter_plugins[k].remove(v) #remove action for k,v in plugin._action.items(): if self._action_plugins.has_key(k): if v in self._action_plugins[k]: self._action_plugins[k].remove(v) #if self.blog.application: # self.remove_urlhandler(plugin,self.blog.application) if hasattr(self.plugin_util, 'addUrlHandler'): self.remove_urlhandlers(plugin) self._urlmap={} self._setupmenu=[]
def __init__(self,blog=None): self.blog = configs.get_g_blog() self.plugin_util = plugin_util self.list={} self._filter_plugins={} self._action_plugins={} self._urlmap={} self._handlerlist={} self._setupmenu=[] pi=PluginIterator() self.active_list=OptionSet.getValue("PluginActive",[]) for v,m in pi: logging.debug('###########################') logging.debug(str((v, m))) #try: if 1: #import plugins modules mod=__import__(m,globals(),locals(),[v]) plugin=getattr(mod,v)() #internal name plugin.iname=v plugin.active=v in self.active_list plugin.blog=self.blog self.list[v]=plugin if plugin.active: self.add_urlhandlers(plugin) #except: if 0: logging.debug('###########################') import sys #import traceback logging.debug(str(sys.exc_info())) #logging.debug(traceback.print_stack(sys.exc_info()[2])) pass logging.debug(self.list.keys())
def GET(self,page): code=OptionSet.getValue("googleAnalytics_code",default="") return '''<h3>Google Anslytics</h3> <form action="" method="post"> <p>Analytics Code:</p> <textarea name="code" style="width:500px;height:100px">%s</textarea> <br> <input type="submit" value="submit"> </form>'''%code
def __init__(self): Plugin.__init__(self,__file__) self.author="xuming" self.authoruri="http://xuming.net" self.uri="http://xuming.net" self.description="HighSyntax Plugin." self.name="HighSyntax plugin" self.version="0.1" self.register_filter('footer',self.footer) self.register_urlzip('/syntaxhighlighter/(.*)','syntaxhighlighter.zip') self.theme=OptionSet.getValue("highsyntax_theme",default="Default")
def POST(self,page): self.theme=page.param("theme") OptionSet.setValue("highsyntax_theme",self.theme) return self.GET(page)
def POST(self,page): code=page.param("code") OptionSet.setValue("googleAnalytics_code",code) return self.get(page)
def filter(self,content,*arg1,**arg2): code=OptionSet.getValue("googleAnalytics_code",default="") return content+str(code)