__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)