def initialize(self): """The initialize step further initializes the Request by setting additional information in the ``data`` dict, registering plugins, and entryparsers. """ data = self._request.get_data() pyhttp = self._request.get_http() config = self._request.get_configuration() # initialize the locale, if wanted (will silently fail if locale # is not available) if config.get('locale', None): try: locale.setlocale(locale.LC_ALL, config['locale']) except locale.Error: # invalid locale pass # initialize the tools module tools.initialize(config) data["pyblosxom_version"] = __version__ data['pi_bl'] = '' # if the user specifies base_url in config, we use that. # otherwise we compose it from SCRIPT_NAME in the environment # or we leave it blank. if not "base_url" in config: if pyhttp.has_key('SCRIPT_NAME'): # allow http and https config['base_url'] = '%s://%s%s' % \ (pyhttp['wsgi.url_scheme'], pyhttp['HTTP_HOST'], pyhttp['SCRIPT_NAME']) else: config["base_url"] = "" # take off the trailing slash for base_url if config['base_url'].endswith("/"): config['base_url'] = config['base_url'][:-1] datadir = config["datadir"] if datadir.endswith("/") or datadir.endswith("\\"): datadir = datadir[:-1] config['datadir'] = datadir # import and initialize plugins plugin_utils.initialize_plugins(config.get("plugin_dirs", []), config.get("load_plugins", None)) # entryparser callback is run here first to allow other # plugins register what file extensions can be used data['extensions'] = tools.run_callback("entryparser", {'txt': blosxom_entry_parser}, mappingfunc=lambda x,y:y, defaultfunc=lambda x:x)
def initialize(self): """The initialize step further initializes the Request by setting additional information in the ``data`` dict, registering plugins, and entryparsers. """ data = self._request.get_data() py_http = self._request.get_http() config = self._request.get_configuration() # initialize the locale, if wanted (will silently fail if locale # is not available) if config.get('locale', None): try: locale.setlocale(locale.LC_ALL, config['locale']) except locale.Error: # invalid locale pass # initialize the tools module tools.initialize(config) data["pyblosxom_version"] = __version__ data['pi_bl'] = '' # if the user specifies base_url in config, we use that. # otherwise we compose it from SCRIPT_NAME in the environment # or we leave it blank. if not "base_url" in config: if py_http.has_key('SCRIPT_NAME'): # allow http and https config['base_url'] = '%s://%s%s' % \ (py_http['wsgi.url_scheme'], py_http['HTTP_HOST'], py_http['SCRIPT_NAME']) else: config["base_url"] = "" # take off the trailing slash for base_url if config['base_url'].endswith("/"): config['base_url'] = config['base_url'][:-1] data_dir = config["datadir"] if data_dir.endswith("/") or data_dir.endswith("\\"): data_dir = data_dir[:-1] config['datadir'] = data_dir # import and initialize plugins plugin_utils.initialize_plugins(config.get("plugin_dirs", []), config.get("load_plugins", None)) # entryparser callback is run here first to allow other # plugins register what file extensions can be used data['extensions'] = tools.run_callback("entryparser", {'txt': blosxom_entry_parser}, mappingfunc=lambda x, y: y, defaultfunc=lambda x: x)
def get_handlers(): try: from config import py as cfg plugin_utils.initialize_plugins(cfg.get("plugin_dirs", []), cfg.get("load_plugins", None)) except ImportError: pass handlers_dict = dict([(v[0], (v[1], v[2])) for v in DEFAULT_HANDLERS]) handlers_dict = run_callback("commandline", handlers_dict, mappingfunc=lambda x, y: y, defaultfunc=lambda x: x) # test the handlers, drop any that aren't the right return type, # and print a warning. handlers = [] for k, v in handlers_dict.items(): if not len(v) == 2 or not callable(v[0]) or not isinstance(v[1], str): print "Plugin returned '%s' for commandline." % ((k, v),) continue handlers.append((k, v[0], v[1])) return handlers
def get_handlers(): try: from config import py as cfg plugin_utils.initialize_plugins(cfg.get("plugin_dirs", []), cfg.get("load_plugins", None)) except ImportError: pass handlers_dict = dict([(v[0], (v[1], v[2])) for v in DEFAULT_HANDLERS]) handlers_dict = run_callback("commandline", handlers_dict, mappingfunc=lambda x, y: y, defaultfunc=lambda x: x) # test the handlers, drop any that aren't the right return type, # and print a warning. handlers = [] for k, v in handlers_dict.items(): if not len(v) == 2 or not callable(v[0]) or not isinstance(v[1], str): print "Plugin returned '%s' for commandline." % ((k, v), ) continue handlers.append((k, v[0], v[1])) return handlers