summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Fenzi <kevin@scrye.com>2015-11-23 16:38:46 +0000
committerKevin Fenzi <kevin@scrye.com>2015-11-23 16:38:46 +0000
commit5ea849a5bd74d670b6bc6dce2974e021e6c6abbf (patch)
tree7277494ca63af618042b6904194a15f5c294f4c3
parent2215586ac1e4edca08eba7423b36b68c2060aa05 (diff)
downloadansible-5ea849a5bd74d670b6bc6dce2974e021e6c6abbf.tar.gz
ansible-5ea849a5bd74d670b6bc6dce2974e021e6c6abbf.tar.xz
ansible-5ea849a5bd74d670b6bc6dce2974e021e6c6abbf.zip
Add fixes to developer rss.py from ticket 4978
-rw-r--r--[-rwxr-xr-x]roles/developer/build/files/rss.py27
1 files changed, 19 insertions, 8 deletions
diff --git a/roles/developer/build/files/rss.py b/roles/developer/build/files/rss.py
index 7a8f91620..294cad1f2 100755..100644
--- 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):
<div class="row">
"""
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"""
<div class="col-sm-6 blog-headlines">
@@ -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('<p>'):
- article_desc = '<p>%s</p>' % 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('<', '&lt;', article_desc)
+ article_desc = re.sub('>', '&gt;', article_desc)
+ if len(article_desc) > 140:
+ article_desc = ' '.join(article_desc.split()[0:25]) + '...'
+ if not article_desc.startswith('<p>'):
+ article_desc = '<p>%s</p>' % 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"""
</div>
"""
+ # Condition if items were collected properly
+ if int(cnt) > 3:
+ break
HTML += u"""
</div>
</div>