From 2d22ea6b860ce249af7575c5bd3888094983b775 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Sun, 6 Nov 2016 20:48:18 +0100 Subject: [PATCH] backoffice: remove support for displaying a news entry on homescreen (#13880) This effectively reverts 17effa588f1535b3aae0bc58aebdd4952c7f0d79 (#1781). --- wcs/qommon/backoffice/root.py | 76 ------------------------------------------- wcs/qommon/publisher.py | 1 - 2 files changed, 77 deletions(-) diff --git a/wcs/qommon/backoffice/root.py b/wcs/qommon/backoffice/root.py index 68f5b91..e112aba 100644 --- a/wcs/qommon/backoffice/root.py +++ b/wcs/qommon/backoffice/root.py @@ -14,23 +14,10 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, see . -import hashlib -import os -import socket -import time -import urllib2 - from quixote.directory import Directory, AccessControlled from quixote import get_publisher, get_request, get_response -from quixote.html import htmltext, TemplateIO - -try: - import feedparser -except ImportError: - feedparser = None from qommon import errors -from qommon.storage import atomic_write class BackofficeRootDirectory(AccessControlled, Directory): @@ -64,68 +51,5 @@ class BackofficeRootDirectory(AccessControlled, Directory): get_response().filter['in_backoffice'] = True - def get_feed_url(self, language): - feed_url = get_publisher().get_site_option('backoffice_feed_url') - if feed_url == 'false': - return None - elif feed_url: - return feed_url - if not get_publisher().backoffice_feed_url: - return None - return get_publisher().backoffice_feed_url.get(language) - - def get_feed_filename(self, feed_url): - md5_hash = hashlib.md5() - md5_hash.update(feed_url) - return os.path.join(get_publisher().app_dir, 'feed-' + md5_hash.hexdigest()) - - def get_sidebar(self): - if feedparser is None: - return None - feed_url = self.get_feed_url(get_request().language) - if not feed_url: - return None - feed_filename = self.get_feed_filename(feed_url) - if not os.path.exists(feed_filename): - self.update_backoffice_feed() - return None - if os.stat(feed_filename)[8] < (time.time()-86400): - self.update_backoffice_feed() - - feed = feedparser.parse(feed_filename) - if not feed.entries: - return None - - r = TemplateIO(html=True) - publication_time = feed.entries[0]['published_parsed'] - if time.mktime(publication_time) > (time.time()-7*86400): - r += htmltext('
') - else: - r += htmltext('
') - r += htmltext('

%s

') % feed.entries[0]['title'].encode(get_publisher().site_charset) - r += htmltext(feed.entries[0]['content'][0]['value'].encode(get_publisher().site_charset)) - r += htmltext('
') - return r.getvalue() - - def update_backoffice_feed(self): - job = get_response().add_after_job( - N_('Updating Backoffice Info Feed'), - self.update_backoffice_feed_real, - fire_and_forget=True) - job.feed_language = get_request().language - - def update_backoffice_feed_real(self, job): - feed_url = self.get_feed_url(job.feed_language) - if not feed_url: - return None - try: - fd = urllib2.urlopen(feed_url) - s = fd.read() - fd.close() - except (urllib2.URLError, socket.error): - return - feed_filename = self.get_feed_filename(feed_url) - atomic_write(feed_filename, s) - def get_menu_items(self): return self.menu_items diff --git a/wcs/qommon/publisher.py b/wcs/qommon/publisher.py index 7a7d99b..67a0afd 100644 --- a/wcs/qommon/publisher.py +++ b/wcs/qommon/publisher.py @@ -70,7 +70,6 @@ class QommonPublisher(Publisher, object): admin_help_url = None backoffice_help_url = None - backoffice_feed_url = None root_directory_class = None backoffice_directory_class = None -- 2.10.2