add load methddos
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user