From c217adb381977c7c9391eaed9ec23f1def0e0828 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 17 Jul 2018 19:38:43 +0100 Subject: [PATCH] Drop news Signed-off-by: Michael Tremer --- Makefile.am | 3 -- src/backend/base.py | 2 - src/backend/news.py | 95 --------------------------------------- src/web/handlers.py | 1 - src/web/handlers_admin.py | 27 ----------- src/web/handlers_base.py | 4 -- src/web/handlers_rss.py | 76 ------------------------------- 7 files changed, 208 deletions(-) delete mode 100644 src/backend/news.py delete mode 100644 src/web/handlers_rss.py diff --git a/Makefile.am b/Makefile.am index ef9dbcc9..b1c810f9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -61,9 +61,7 @@ backend_PYTHON = \ src/backend/mirrors.py \ src/backend/misc.py \ src/backend/netboot.py \ - src/backend/news.py \ src/backend/nopaste.py \ - src/backend/planet.py \ src/backend/releases.py \ src/backend/settings.py \ src/backend/talk.py \ @@ -88,7 +86,6 @@ web_PYTHON = \ src/web/handlers_iuse.py \ src/web/handlers_mirrors.py \ src/web/handlers_nopaste.py \ - src/web/handlers_rss.py \ src/web/handlers_talk.py \ src/web/ui_modules.py diff --git a/src/backend/base.py b/src/backend/base.py index 94b9de0f..19e6384f 100644 --- a/src/backend/base.py +++ b/src/backend/base.py @@ -13,7 +13,6 @@ import memcached import mirrors import netboot import nopaste -import news import releases import settings import talk @@ -55,7 +54,6 @@ class Backend(object): self.mirrors = mirrors.Mirrors(self) self.netboot = netboot.NetBoot(self) self.nopaste = nopaste.Nopaste(self) - self.news = news.News(self) self.releases = releases.Releases(self) self.talk = talk.Talk(self) diff --git a/src/backend/news.py b/src/backend/news.py deleted file mode 100644 index dbdffde8..00000000 --- a/src/backend/news.py +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/bin/python - -from misc import Object - -class News(Object): - def get(self, uuid, locale=None): - res = self.db.get("SELECT * FROM news WHERE uuid = %s \ - AND published IS NOT NULL AND published <= NOW()", uuid) - - if res and locale: - res = self._translate_news_one(res, locale=locale) - - return res - - def get_by_id(self, id, locale=None): - res = self.db.get("SELECT * FROM news WHERE id = %s \ - AND published IS NOT NULL AND published <= NOW()", id) - - if res and locale: - res = self._translate_news_one(res, locale=locale) - - return res - - def get_by_slug(self, slug, locale=None): - res = self.db.get("SELECT * FROM news WHERE slug = %s \ - AND published IS NOT NULL AND published <= NOW()", slug) - - if res: - return res - - res = self.db.get("SELECT news_id FROM news_translations WHERE slug = %s", slug) - if res: - return self.get_by_id(res.news_id, locale=locale) - - def get_latest(self, author=None, locale=None, limit=1, offset=0): - query = "SELECT * FROM news WHERE published IS NOT NULL AND published <= NOW()" - args = [] - - if author: - query += " AND author_id = %s" - args.append(author) - - query += " ORDER BY published DESC" - - if limit: - query += " LIMIT %s" - args.append(limit) - - if offset: - query += " OFFSET %s" - args.append(offset) - - news = self.db.query(query, *args) - - if locale: - news = self._translate_news(news, locale=locale) - - return news - - def get_by_year(self, year, locale=None): - res = self.db.query("SELECT * FROM news \ - WHERE published IS NOT NULL AND published <= NOW() \ - AND EXTRACT(YEAR FROM published) = %s ORDER BY published DESC", year) - - if res and locale: - res = self._translate_news(res, locale=locale) - - return res - - def _translate_news(self, news, locale): - ret = [] - - for n in news: - n = self._translate_news_one(n, locale) - ret.append(n) - - return ret - - def _translate_news_one(self, news, locale): - lang = locale.code[:2] - - res = self.db.get("SELECT * FROM news_translations \ - WHERE news_id = %s AND lang = %s", news.id, lang) - - if res: - news.update(res) - - return news - - @property - def years(self): - query = self.db.query("SELECT DISTINCT EXTRACT(YEAR FROM published)::integer AS year FROM news \ - WHERE published IS NOT NULL AND published <= NOW() ORDER BY year DESC") - - return [r.year for r in query] diff --git a/src/web/handlers.py b/src/web/handlers.py index f414a1ad..b77335be 100644 --- a/src/web/handlers.py +++ b/src/web/handlers.py @@ -25,7 +25,6 @@ from handlers_fireinfo import * from handlers_iuse import * from handlers_mirrors import * from handlers_nopaste import * -from handlers_rss import * from handlers_talk import * class LangCompatHandler(BaseHandler): diff --git a/src/web/handlers_admin.py b/src/web/handlers_admin.py index 36ee0bad..50c5fd18 100644 --- a/src/web/handlers_admin.py +++ b/src/web/handlers_admin.py @@ -214,33 +214,6 @@ class AdminMirrorsDetailsHandler(AdminMirrorsBaseHandler): self.render("admin-mirrors-details.html", mirror=mirror) -class AdminNewsBaseHandler(AdminBaseHandler): - @property - def news(self): - return self.backend.news - - -class AdminNewsHandler(AdminNewsBaseHandler): - @tornado.web.authenticated - def get(self): - news = self.news.get_all() - - self.render("admin-news.html", news=news) - - -class AdminNewsCreateHandler(AdminNewsBaseHandler): - @tornado.web.authenticated - def get(self, id=None): - # if XXX - - - self.render("admin-news-create.html", news=news) - - -class AdminNewsEditHandler(AdminNewsCreateHandler): - pass - - class AdminDownloadsHandler(AdminBaseHandler): @tornado.web.authenticated def get(self): diff --git a/src/web/handlers_base.py b/src/web/handlers_base.py index a3182379..8d468ea4 100644 --- a/src/web/handlers_base.py +++ b/src/web/handlers_base.py @@ -190,10 +190,6 @@ class BaseHandler(tornado.web.RequestHandler): def netboot(self): return self.backend.netboot - @property - def news(self): - return self.backend.news - @property def config(self): return self.backend.settings diff --git a/src/web/handlers_rss.py b/src/web/handlers_rss.py deleted file mode 100644 index 4899bf4d..00000000 --- a/src/web/handlers_rss.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/python - -import logging -import textile - -from .. import database - -from handlers_base import * - -class RSSHandler(BaseHandler): - _default_limit = 10 - _default_offset = 0 - - def prepare(self): - self.set_header("Content-Type", "application/rss+xml") - - @property - def limit(self): - value = self.get_argument("limit", None) - - try: - return int(value) - except (TypeError, ValueError): - return self._default_limit - - @property - def offset(self): - value = self.get_argument("offset", None) - - try: - return int(value) - except (TypeError, ValueError): - return self._default_offset - - def get(self, *args, **kwargs): - url = "%s%s" % (self.request.host, self.request.path) - - rss_id = "rss-%s-locale=%s-limit=%s-offset=%s" % \ - (url, self.locale.code, self.limit, self.offset) - - rss = self.memcached.get(rss_id) - if not rss: - logging.debug("Generating RSS feed (%s)..." % rss_id) - rss = self.generate(*args, **kwargs) - - self.memcached.set(rss_id, rss, 900) - - self.finish(rss) - - def generate(self): - raise NotImplementedError - - -class RSSNewsHandler(RSSHandler): - def generate(self): - news = self.news.get_latest(locale=self.locale, - limit=self.limit, offset=self.offset) - - items = [] - for n in news: - # Get author information - n.author = self.get_account(n.author_id) - - # Render text - n.text = textile.textile(n.text.decode("utf-8")) - - item = database.Row({ - "title" : n.title, - "author" : n.author, - "published" : n.published, - "url" : "https://www.ipfire.org/news/%s" % n.slug, - "markup" : n.text, - }) - items.append(item) - - return self.render_string("feeds/news.xml", items=items) -- 2.39.2