def __init__(self, name=None, router=None, config=None, **more_config): self.name = name self.router = router or Router() self.config = Config.from_module(config or default_config) self.config.update(**more_config) self.root_path = self.find_root_path(self.name) self.set_config('root_path', self.root_path) self.static_folder = self.get_config('static_folder', '').strip('/\\') self.static_path = abspath(join(self.root_path, self.static_folder)) self.hooks = {} # TODO self.error_handler = {} self.register_template(self.get_config('template_engine', self.default_template)) global G_ROUTER G_ROUTER = self.router