-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfeed.py
61 lines (44 loc) · 1.35 KB
/
feed.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import feedparser
import PyRSS2Gen
import datetime
print ('Loading function')
rss_url = "http://www.dnbradio.com/feeds"
my_filter = "SHAPE"
my_rssfile = "dnbradio" + my_filter + "rss.xml"
f = open(my_rssfile, 'w')
def lambda_function (event, context):
d = feedparser.parse( rss_url )
print "Feed parsed: ", d['feed']['title']
# modifying entries
d['feed']['title'] = d['feed']['title'] + " filtered for " + my_filter
for x in d.entries:
if my_filter in x.title:
items = [
PyRSS2Gen.RSSItem(
title = x.title,
link = x.link,
description = x.summary,
guid = x.link
)
]
# make the RSS2 object
# Try to grab the title, link, language etc from the orig feed
rss = PyRSS2Gen.RSS2(
title = d['feed'].get("title"),
link = d['feed'].get("link"),
description = d['feed'].get("description"),
language = d['feed'].get("language"),
copyright = d['feed'].get("copyright"),
managingEditor = d['feed'].get("managingEditor"),
webMaster = d['feed'].get("webMaster"),
pubDate = d['feed'].get("pubDate"),
lastBuildDate = d['feed'].get("lastBuildDate"),
categories = d['feed'].get("categories"),
generator = d['feed'].get("generator"),
docs = d['feed'].get("docs"),
items = items
)
f.write(rss.to_xml())
return d
lambda_function("e", "c")
print ('Done')