diff options
Diffstat (limited to 'zdf.py')
-rwxr-xr-x | zdf.py | 35 |
1 files changed, 20 insertions, 15 deletions
@@ -1,8 +1,12 @@ +#!/usr/bin/env python3 + import logging from datetime import datetime from urllib.request import Request, urlopen from xml.dom.minidom import parseString +from rss_types import RSSFeed, RSSItem + def getText(dom, element): textNode = dom.getElementsByTagName(element)[0].firstChild @@ -31,7 +35,7 @@ def zdf(feed): title = getText(xml, "title") description = getText(xml, "description") - content = [] + rss_items = [] for show in xml.getElementsByTagName("item"): s_url = getText(show, "link") if not s_url: @@ -61,22 +65,23 @@ def zdf(feed): s_desc = getText(show, "description") s_guid = getText(show, "guid") - content.append( - { - "title": s_title, - "url": s_url, - "content": s_desc, - "date": s_date, - "guid": s_guid, - } + rss_items.append( + RSSItem( + title=s_title, + url=s_url, + content=s_desc, + date=s_date, + guid=s_guid, + enclosures=[], + ) ) - return { - "title": title, - "url": url, - "description": description, - "content": content, - } + return RSSFeed( + title=title, + url=url, + description=description, + content=rss_items, + ) except Exception as exc: logging.error("Working with zdf failed.", exc_info=exc) return None |