Added setting to bypass dashboard RSS timeout

This commit is contained in:
root
2020-04-15 13:32:50 +02:00
committed by ClemRiviere
parent 8e5dfd67ad
commit ac431f77e8
2 changed files with 18 additions and 11 deletions
@@ -297,6 +297,8 @@ SILENCED_SYSTEM_CHECKS = [
"security.W019", # modoboa uses iframes to display e-mails
]
DISABLE_RSS = False
# Load settings from extensions
{% for extension in extra_settings %}
try:
+16 -11
View File
@@ -8,6 +8,8 @@ from requests.exceptions import RequestException
from django.contrib.auth import mixins as auth_mixins
from django.views import generic
from django.conf import settings
from .. import signals
MODOBOA_WEBSITE_URL = "https://modoboa.org/"
@@ -43,11 +45,13 @@ class DashboardView(auth_mixins.AccessMixin, generic.TemplateView):
self.request.localconfig.parameters.get_value("rss_feed_url"))
if custom_feed_url:
feed_url = custom_feed_url
posts = feedparser.parse(feed_url)
if not settings.DISABLE_RSS:
posts = feedparser.parse(feed_url)
entries = []
for entry in posts["entries"][:5]:
entry["published"] = parser.parse(entry["published"])
entries.append(entry)
if not settings.DISABLE_RSS:
for entry in posts["entries"][:5]:
entry["published"] = parser.parse(entry["published"])
entries.append(entry)
context["widgets"]["left"].append("core/_latest_news_widget.html")
context.update({"news": entries})
@@ -57,13 +61,14 @@ class DashboardView(auth_mixins.AccessMixin, generic.TemplateView):
url = "{}{}/api/projects/?featured=true".format(
MODOBOA_WEBSITE_URL, lang)
features = []
try:
response = requests.get(url)
except RequestException:
pass
else:
if response.status_code == 200:
features = response.json()
if not settings.DISABLE_RSS:
try:
response = requests.get(url)
except RequestException:
pass
else:
if response.status_code == 200:
features = response.json()
context["widgets"]["right"].append("core/_current_features.html")
context.update({"features": features})