def filter_stream(self, req, method, filename, stream, data): try: # get all path patterns path_patterns = TracTweakUIModel.get_path_patterns(self.env) # try to match pattern for path_pattern in path_patterns: if re.match(path_pattern, req.path_info): break else: return stream filter_names = TracTweakUIModel.get_path_filters(self.env, path_pattern) for filter_name in filter_names: self._apply_filter(req, path_pattern, filter_name) js_files = TracTweakUIModel.get_path_scripts(self.env, path_pattern) if js_files: script = ";\n".join(js_files) else: script = "" stream = stream | Transformer('head').append(tag.script(Markup(script), type="text/javascript")()) return stream except: return stream
def filter_stream(self, req, method, filename, stream, data): try: # get all path patterns path_patterns = TracTweakUIModel.get_path_patterns(self.env) # try to match pattern for path_pattern in path_patterns: if re.match(path_pattern, req.path_info): break else: return stream filter_names = TracTweakUIModel.get_path_filters( self.env, path_pattern) for filter_name in filter_names: self._apply_filter(req, path_pattern, filter_name) js_files = TracTweakUIModel.get_path_scripts( self.env, path_pattern) if js_files: script = ";\n".join(js_files) else: script = "" stream = stream | Transformer('head').append( tag.script(Markup(script), type="text/javascript")()) return stream except: return stream
def filter_stream(self, req, method, filename, stream, data): # get all path patterns path_patterns = TracTweakUIModel.get_path_patterns(self.env) # try to match pattern for path_pattern in path_patterns: if re.match(path_pattern, req.path_info): break else: return stream filter_names = TracTweakUIModel.get_path_filters(self.env, path_pattern) for filter_name in filter_names: stream = self._apply_filter(req, stream, path_pattern, filter_name) stream = stream | Transformer('head').append( tag.script(type="text/javascript", src= req.base_path + "/tractweakui/tweakui_js/" + urllib.quote(path_pattern, "") + ".js")() ) return stream
def filter_stream(self, req, method, filename, stream, data): # get all path patterns path_patterns = TracTweakUIModel.get_path_patterns(self.env) # try to match pattern for path_pattern in path_patterns: if re.match(path_pattern, req.path_info): break else: return stream filter_names = TracTweakUIModel.get_path_filters( self.env, path_pattern) for filter_name in filter_names: stream = self._apply_filter(req, stream, path_pattern, filter_name) stream = stream | Transformer('head').append( tag.script(type="text/javascript", src=req.base_path + "/tractweakui/tweakui_js/" + urllib.quote(path_pattern, "") + ".js")()) return stream
def render_admin_panel(self, req, cat, page, path_info): req.perm.assert_permission('TRACTWEAKUI_ADMIN') data = {} data["page"] = page data["encode_url"] = encode_url #print cat, page, path_info # Analyze url action = "" if path_info: try: action, args = path_info.split('?', 1) action = action.strip("/") except: action = path_info.strip("/") args = None if action: if action == "edit_path_pattern": # edit path_pattern if req.method == 'POST': # TODO if 'save' in req.args: # save filter path_pattern = req.args.get("path_pattern", "").strip() path_pattern_orig = req.args.get( "path_pattern_orig", "").strip() self._save_path_pattern(req) req.redirect(req.abs_href.admin(cat, page)) elif 'delete' in req.args: # delete filter path_pattern = req.args.get("path_pattern", "").strip() self._del_path_pattern(req) req.redirect(req.abs_href.admin(cat, page)) else: # list filters path_pattern = req.args.get("path_pattern", "").strip() data["filter_names"] = self._get_filters() data["path_pattern"] = req.args.get("path_pattern", "").strip() #print data return 'tractweakui_admin_list_filter.html', data elif action.startswith("edit_filter_script"): # edit script if req.method == 'POST': if 'save' in req.args: # save filter self._save_tweak_script(req) #req.redirect(req.abs_href.admin(cat, page, path_info)) path_pattern = req.args.get("path_pattern", "").strip() data["filter_names"] = self._get_filters() data["path_pattern"] = req.args.get( "path_pattern", "").strip() #print data return 'tractweakui_admin_list_filter.html', data elif 'load_default' in req.args: # load_default js script data['path_pattern'] = req.args.get( "path_pattern", "").strip() data['filter_name'] = req.args.get("filter_name", "").strip() data['tweak_script'] = self._load_default_script(req) #print data return 'tractweakui_admin_edit_filter.html', data else: # display filter details path_pattern = req.args.get("path_pattern", "").strip() filter_name = req.args.get("filter_name", "").strip() tweak_script = TracTweakUIModel.get_tweak_script( self.env, path_pattern, filter_name) data['tweak_script'] = tweak_script data['path_pattern'] = path_pattern data['filter_name'] = filter_name return 'tractweakui_admin_edit_filter.html', data elif action == "add_path_pattern": # add path pattern if req.method == 'POST': if 'add' in req.args: self._add_path_pattern(req) req.redirect(req.abs_href.admin(cat, page)) else: # list all path patterns data["path_patterns"] = TracTweakUIModel.get_path_patterns( self.env) return 'tractweakui_admin_list_path.html', data
def render_admin_panel(self, req, cat, page, path_info): req.perm.assert_permission('TRACTWEAKUI_ADMIN') data = {} data["page"] = page data["encode_url"] = encode_url #print cat, page, path_info # Analyze url action = "" if path_info: try: action, args = path_info.split('?', 1) action = action.strip("/") except: action = path_info.strip("/") args = None if action: if action == "edit_path_pattern": # edit path_pattern if req.method == 'POST': # TODO if 'save' in req.args: # save filter path_pattern = req.args.get("path_pattern", "").strip() path_pattern_orig = req.args.get("path_pattern_orig", "").strip() self._save_path_pattern(req) req.redirect(req.abs_href.admin(cat, page)) elif 'delete' in req.args: # delete filter path_pattern = req.args.get("path_pattern", "").strip() self._del_path_pattern(req) req.redirect(req.abs_href.admin(cat, page)) else: # list filters path_pattern = req.args.get("path_pattern", "").strip() data["filter_names"] = self._get_filters() data["path_pattern"] = req.args.get("path_pattern", "").strip() #print data return 'tractweakui_admin_list_filter.html', data elif action.startswith("edit_filter_script"): # edit script if req.method == 'POST': if 'save' in req.args: # save filter self._save_tweak_script(req) #req.redirect(req.abs_href.admin(cat, page, path_info)) path_pattern = req.args.get("path_pattern", "").strip() data["filter_names"] = self._get_filters() data["path_pattern"] = req.args.get("path_pattern", "").strip() #print data return 'tractweakui_admin_list_filter.html', data elif 'load_default' in req.args: # load_default js script data['path_pattern'] = req.args.get("path_pattern", "").strip() data['filter_name'] = req.args.get("filter_name", "").strip() data['tweak_script'] = self._load_default_script(req) #print data return 'tractweakui_admin_edit_filter.html', data else: # display filter details path_pattern = req.args.get("path_pattern", "").strip() filter_name = req.args.get("filter_name", "").strip() tweak_script = TracTweakUIModel.get_tweak_script(self.env, path_pattern, filter_name) data['tweak_script'] = tweak_script data['path_pattern'] = path_pattern data['filter_name'] = filter_name return 'tractweakui_admin_edit_filter.html', data elif action == "add_path_pattern": # add path pattern if req.method == 'POST': if 'add' in req.args: self._add_path_pattern(req) req.redirect(req.abs_href.admin(cat, page)) else: # list all path patterns data["path_patterns"] = TracTweakUIModel.get_path_patterns(self.env) return 'tractweakui_admin_list_path.html', data