def __init__(self, watchdog=None, verbose=False, search_cache_size=100): self.search_cache_size = search_cache_size self.watchdog = watchdog self.verbose = verbose # Configure template engine (jinja) template_path = os.path.join(os.path.dirname(__file__), 'templates') self.jinja_env = Environment(loader=FileSystemLoader(template_path), autoescape=False) self.jinja_env.globals["watchdog"] = True if watchdog else False self.template_manager = TemplateManager(template_path) self.art_mngr = compresor.ArticleManager() self.img_mngr = compresor.ImageManager() self.destacados_mngr = Destacados(self.art_mngr, debug=False) self.index = cdpindex.IndexInterface(config.DIR_INDICE) self.index.start() self.searcher = Searcher(self.index, self.search_cache_size) self.tmpdir = os.path.join(tempfile.gettempdir(), "cdpedia") self.url_map = Map([ Rule('/', endpoint='main_page'), Rule('/%s/<nombre>' % ARTICLES_BASE_URL, endpoint='articulo'), Rule('/al_azar', endpoint='al_azar'), Rule('/search', endpoint='search'), Rule('/search/<key>', endpoint='search_results'), Rule('/images/<path:nombre>', endpoint='imagen'), Rule('/institucional/<path:path>', endpoint='institucional'), Rule('/watchdog/update', endpoint='watchdog_update'), Rule('/search_index/ready', endpoint='index_ready'), Rule('/tutorial', endpoint='tutorial'), ])
def __init__(self, watchdog=None, verbose=False, search_cache_size=100): self.search_cache_size = search_cache_size self.watchdog = watchdog self.verbose = verbose self.art_mngr = compresor.ArticleManager(verbose=verbose) # Configure template engine (jinja) template_path = os.path.join(os.path.dirname(__file__), 'templates') self.jinja_env = Environment(loader=FileSystemLoader(template_path), extensions=['jinja2.ext.i18n'], autoescape=False) self.jinja_env.globals["watchdog"] = True if watchdog else False translations = gettext.translation("core", 'locale', [self.art_mngr.language]) self.jinja_env.install_gettext_translations(translations) self.template_manager = TemplateManager(template_path) self.img_mngr = compresor.ImageManager(verbose=verbose) self.destacados_mngr = Destacados(self.art_mngr, debug=False) self.index = cdpindex.IndexInterface(config.DIR_INDICE) self.index.start() self.searcher = Searcher(self.index, self.search_cache_size) self.tmpdir = os.path.join(tempfile.gettempdir(), "cdpedia") self.url_map = Map([ Rule('/', endpoint='main_page'), Rule('/%s/<nombre>' % ARTICLES_BASE_URL, endpoint='articulo'), Rule('/al_azar', endpoint='al_azar'), Rule('/search', endpoint='search'), Rule('/search/<key>', endpoint='search_results'), Rule('/images/<path:nombre>', endpoint='imagen'), Rule('/institucional/<path:path>', endpoint='institucional'), Rule('/watchdog/update', endpoint='watchdog_update'), Rule('/search_index/ready', endpoint='index_ready'), Rule('/tutorial', endpoint='tutorial'), ]) self._tutorial_ready = False
def __init__(self, watchdog=None, verbose=False, search_cache_size=100): self.search_cache_size = search_cache_size self.watchdog = watchdog self.verbose = verbose self.art_mngr = compresor.ArticleManager(verbose=verbose) # Configure template engine (jinja) template_path = os.path.join(os.path.dirname(__file__), "templates") self.jinja_env = Environment( loader=FileSystemLoader(template_path), extensions=["jinja2.ext.i18n"], autoescape=False ) self.jinja_env.globals["watchdog"] = True if watchdog else False translations = gettext.translation("core", "locale", [self.art_mngr.language]) self.jinja_env.install_gettext_translations(translations) self.template_manager = TemplateManager(template_path) self.img_mngr = compresor.ImageManager(verbose=verbose) self.destacados_mngr = Destacados(self.art_mngr, debug=False) self.index = cdpindex.IndexInterface(config.DIR_INDICE) self.index.start() self.searcher = Searcher(self.index, self.search_cache_size) self.tmpdir = os.path.join(tempfile.gettempdir(), "cdpedia") self.url_map = Map( [ Rule("/", endpoint="main_page"), Rule("/%s/<nombre>" % ARTICLES_BASE_URL, endpoint="articulo"), Rule("/al_azar", endpoint="al_azar"), Rule("/search", endpoint="search"), Rule("/search/<key>", endpoint="search_results"), Rule("/images/<path:nombre>", endpoint="imagen"), Rule("/institucional/<path:path>", endpoint="institucional"), Rule("/watchdog/update", endpoint="watchdog_update"), Rule("/search_index/ready", endpoint="index_ready"), Rule("/tutorial", endpoint="tutorial"), ] ) self._tutorial_ready = False
class CDPedia(object): def __init__(self, watchdog=None, verbose=False, search_cache_size=100): self.search_cache_size = search_cache_size self.watchdog = watchdog self.verbose = verbose # Configure template engine (jinja) template_path = os.path.join(os.path.dirname(__file__), 'templates') self.jinja_env = Environment(loader=FileSystemLoader(template_path), autoescape=False) self.jinja_env.globals["watchdog"] = True if watchdog else False self.template_manager = TemplateManager(template_path) self.art_mngr = compresor.ArticleManager() self.img_mngr = compresor.ImageManager() self.destacados_mngr = Destacados(self.art_mngr, debug=False) self.index = cdpindex.IndexInterface(config.DIR_INDICE) self.index.start() self.searcher = Searcher(self.index, self.search_cache_size) self.tmpdir = os.path.join(tempfile.gettempdir(), "cdpedia") self.url_map = Map([ Rule('/', endpoint='main_page'), Rule('/%s/<nombre>' % ARTICLES_BASE_URL, endpoint='articulo'), Rule('/al_azar', endpoint='al_azar'), Rule('/search', endpoint='search'), Rule('/search/<key>', endpoint='search_results'), Rule('/images/<path:nombre>', endpoint='imagen'), Rule('/institucional/<path:path>', endpoint='institucional'), Rule('/watchdog/update', endpoint='watchdog_update'), Rule('/search_index/ready', endpoint='index_ready'), Rule('/tutorial', endpoint='tutorial'), ]) def on_main_page(self, request): data_destacado = self.destacados_mngr.get_destacado() destacado = None if data_destacado is not None: link, title, first_paragraphs = data_destacado destacado = {"link": link, "title": title, "first_paragraphs": first_paragraphs} return self.render_template('main_page.html', title="Portada", destacado=destacado, ) def on_articulo(self, request, nombre): orig_link = utils.get_orig_link(nombre) try: data = self.art_mngr.get_item(nombre) except Exception, e: raise InternalServerError(u"Error interno al buscar contenido: %s" % e) if data is None: raise ArticleNotFound(nombre, orig_link) title = utils.get_title_from_data(data) return self.render_template('article.html', article_name=nombre, orig_link=orig_link, article=data )
class CDPedia(object): def __init__(self, watchdog=None, verbose=False, search_cache_size=100): self.search_cache_size = search_cache_size self.watchdog = watchdog self.verbose = verbose self.art_mngr = compresor.ArticleManager(verbose=verbose) # Configure template engine (jinja) template_path = os.path.join(os.path.dirname(__file__), "templates") self.jinja_env = Environment( loader=FileSystemLoader(template_path), extensions=["jinja2.ext.i18n"], autoescape=False ) self.jinja_env.globals["watchdog"] = True if watchdog else False translations = gettext.translation("core", "locale", [self.art_mngr.language]) self.jinja_env.install_gettext_translations(translations) self.template_manager = TemplateManager(template_path) self.img_mngr = compresor.ImageManager(verbose=verbose) self.destacados_mngr = Destacados(self.art_mngr, debug=False) self.index = cdpindex.IndexInterface(config.DIR_INDICE) self.index.start() self.searcher = Searcher(self.index, self.search_cache_size) self.tmpdir = os.path.join(tempfile.gettempdir(), "cdpedia") self.url_map = Map( [ Rule("/", endpoint="main_page"), Rule("/%s/<nombre>" % ARTICLES_BASE_URL, endpoint="articulo"), Rule("/al_azar", endpoint="al_azar"), Rule("/search", endpoint="search"), Rule("/search/<key>", endpoint="search_results"), Rule("/images/<path:nombre>", endpoint="imagen"), Rule("/institucional/<path:path>", endpoint="institucional"), Rule("/watchdog/update", endpoint="watchdog_update"), Rule("/search_index/ready", endpoint="index_ready"), Rule("/tutorial", endpoint="tutorial"), ] ) self._tutorial_ready = False def on_main_page(self, request): data_destacado = self.destacados_mngr.get_destacado() destacado = None if data_destacado is not None: link, title, first_paragraphs = data_destacado destacado = {"link": link, "title": title, "first_paragraphs": first_paragraphs} _path = os.path.join(config.DIR_ASSETS, "dynamic", "portals.html") if os.path.exists(_path): with codecs.open(_path, "rb", encoding="utf8") as fh: portales = fh.read() else: portales = "" return self.render_template("main_page.html", title="Portada", destacado=destacado, portales=portales) def on_articulo(self, request, nombre): orig_link = utils.get_orig_link(nombre) try: data = self.art_mngr.get_item(nombre) except Exception, e: raise InternalServerError(u"Error interno al buscar contenido: %s" % e) if data is None: raise ArticleNotFound(nombre, orig_link) return self.render_template( "article.html", article_name=nombre, orig_link=orig_link, article=data, language=self.art_mngr.language )
class CDPedia(object): def __init__(self, watchdog=None, verbose=False, search_cache_size=100): self.search_cache_size = search_cache_size self.watchdog = watchdog self.verbose = verbose self.art_mngr = compresor.ArticleManager(verbose=verbose) # Configure template engine (jinja) template_path = os.path.join(os.path.dirname(__file__), 'templates') self.jinja_env = Environment(loader=FileSystemLoader(template_path), extensions=['jinja2.ext.i18n'], autoescape=False) self.jinja_env.globals["watchdog"] = True if watchdog else False translations = gettext.translation("core", 'locale', [self.art_mngr.language]) self.jinja_env.install_gettext_translations(translations) self.template_manager = TemplateManager(template_path) self.img_mngr = compresor.ImageManager(verbose=verbose) self.destacados_mngr = Destacados(self.art_mngr, debug=False) self.index = cdpindex.IndexInterface(config.DIR_INDICE) self.index.start() self.searcher = Searcher(self.index, self.search_cache_size) self.tmpdir = os.path.join(tempfile.gettempdir(), "cdpedia") self.url_map = Map([ Rule('/', endpoint='main_page'), Rule('/%s/<nombre>' % ARTICLES_BASE_URL, endpoint='articulo'), Rule('/al_azar', endpoint='al_azar'), Rule('/search', endpoint='search'), Rule('/search/<key>', endpoint='search_results'), Rule('/images/<path:nombre>', endpoint='imagen'), Rule('/institucional/<path:path>', endpoint='institucional'), Rule('/watchdog/update', endpoint='watchdog_update'), Rule('/search_index/ready', endpoint='index_ready'), Rule('/tutorial', endpoint='tutorial'), ]) self._tutorial_ready = False def on_main_page(self, request): data_destacado = self.destacados_mngr.get_destacado() destacado = None if data_destacado is not None: link, title, first_paragraphs = data_destacado destacado = { "link": link, "title": title, "first_paragraphs": first_paragraphs } _path = os.path.join(config.DIR_ASSETS, 'dynamic', 'portals.html') if os.path.exists(_path): with codecs.open(_path, "rb", encoding='utf8') as fh: portales = fh.read() else: portales = "" return self.render_template( 'main_page.html', title="Portada", destacado=destacado, portales=portales, ) def on_articulo(self, request, nombre): orig_link = utils.get_orig_link(nombre) try: data = self.art_mngr.get_item(nombre) except Exception, e: raise InternalServerError( u"Error interno al buscar contenido: %s" % e) if data is None: raise ArticleNotFound(nombre, orig_link) return self.render_template( 'article.html', article_name=nombre, orig_link=orig_link, article=data, language=self.art_mngr.language, )