From 5ea849a5bd74d670b6bc6dce2974e021e6c6abbf Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 23 Nov 2015 16:38:46 +0000 Subject: [PATCH] Add fixes to developer rss.py from ticket 4978 --- roles/developer/build/files/rss.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) mode change 100755 => 100644 roles/developer/build/files/rss.py diff --git a/roles/developer/build/files/rss.py b/roles/developer/build/files/rss.py old mode 100755 new mode 100644 index 7a8f91620a..294cad1f27 --- a/roles/developer/build/files/rss.py +++ b/roles/developer/build/files/rss.py @@ -1,6 +1,7 @@ #!/usr/bin/python -tt # -*- coding: utf-8 -*- +from __future__ import print_function import codecs import os import sys @@ -35,7 +36,8 @@ for feed in map(feedparser.parse, FedMag):
""" cnt = 0 - for item in feed["items"][:4]: + # Getting at least 4 items in case of some python exceptions. + for item in feed["items"][:6]: if int(cnt) % 2 == 0: HTML += u"""
@@ -44,13 +46,19 @@ for feed in map(feedparser.parse, FedMag): author, title = item.title.split(':', 1) link = item.links[0]['href'] # Remove image tag from beginning - article_desc = '\n'.join(item.description.split('\n')[1:]) - # remove html tags from description - article_desc = re.sub('<[^<]+?>', '', article_desc) - if len(article_desc) > 140: - article_desc = ' '.join(article_desc.split()[0:25]) + '...' - if not article_desc.startswith('

'): - article_desc = '

%s

' % article_desc + try: + article_desc = '\n'.join(item.description.split('\n')[1:]) + # remove html tags from description + article_desc = re.sub('<[^<]+?>', '', article_desc) + article_desc = re.sub('<', '<', article_desc) + article_desc = re.sub('>', '>', article_desc) + if len(article_desc) > 140: + article_desc = ' '.join(article_desc.split()[0:25]) + '...' + if not article_desc.startswith('

'): + article_desc = '

%s

' % article_desc + except AttributeError: + print ('AttributeError. Going to next item') + continue # we got # Tue, 20 Oct 2015 03:28:42 +0000 # But we expect @@ -73,6 +81,9 @@ for feed in map(feedparser.parse, FedMag): HTML += u"""
""" + # Condition if items were collected properly + if int(cnt) > 3: + break HTML += u"""