add load methddos

This commit is contained in:
stubbfel
2014-08-09 00:35:33 +02:00
parent 886953c9fc
commit 816d196f81
3 changed files with 210 additions and 9 deletions

View File

@@ -14,12 +14,39 @@ class Feed:
self.config_path = None
self.feed_folder_path = None
self.feed_config = None
self.feed_file_path = None
self.serializer = None
self.setup_feed(feed_name, feed_type, link_type, feed_url)
def load_feed(self):
assert self.feed_config is not None
return feedparser.parse(self.feed_config["FeedUrl"])
def load_new_feed(self):
assert (not os.path.exists(self.feed_file_path))
assert (self.serializer is not None)
feed_file = FeedFile(self.feed_file_path)
feed_file.write_feed_json_file(self.load_feed(), self.serializer)
def load_existing_feed(self):
assert (os.path.exists(self.feed_file_path))
assert (self.serializer is not None)
tmp_feed_file = FeedFile(self.feed_file_path + "tmp")
tmp_feed_file.write_feed_json_file(self.load_feed(), self.serializer)
feed_file = FeedFile(self.feed_file_path)
if tmp_feed_file.read_feed_file() == feed_file.read_feed_file():
feed_file.write_json_file(self.feed_file_path)
tmp_feed_file.check_and_remove_file()
def get_serializer(self):
return {
"podcast": PodcastSerializer(self.feed_config["LinkType"])
}.get(self.feed_config["FeedType"], PodcastSerializer(self.feed_config["LinkType"]))
def setup_feed(self, feed_name, feed_type, link_type, feed_url):
assert feed_name is not None
assert feed_type is not None
@@ -31,6 +58,9 @@ class Feed:
if os.path.exists(self.config_path) is False:
self.write_feed_config_file()
self.feed_file_path = self.feed_folder_path+"/"+self.feed_config["FeedName"]+".json"
self.serializer = self.get_serializer()
def new_feed_folder(self):
if self.feed_folder_path is None: