Files
feedcrawler/src/utilities/feedfile.py
2014-06-06 10:52:00 +02:00

38 lines
1.2 KiB
Python

__author__ = 'stubbfel'
import feedparser
from utilities.textfile import TextFile
from utilities.serializer import Serializer
class FeedFile(TextFile):
def __init__(self, filename):
"""
init class
:param filename: path to the file
"""
super(FeedFile, self).__init__(filename)
def read_feed_file(self):
"""
method read and convert the content of the file to a FeedParserDict
:return: dict - feed object
"""
feed_str = self.read_text_file()
return feedparser.parse(feed_str)
def write_feed_file(self, feed, serializer=None):
"""
method write a feedparpser object to a text file. It use a certain serializer or the default serializer
if type of the serializer is none
:param feed: expetc FeedparserDict
:param serializer: None or a subclass of Serializer
"""
assert isinstance(feed, feedparser.FeedParserDict)
if serializer is None:
serializer = Serializer()
feed_string = serializer.serialize(feed)
else:
feed_string = serializer.toString(feed)
self.write_text_file(feed_string)