refactor seralizer
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
__author__ = 'stubbfel'
|
||||
|
||||
import feedparser
|
||||
from utilities.textfile import TextFile
|
||||
from utilities.jsonfile import JsonFile
|
||||
from utilities.serializer import Serializer
|
||||
|
||||
class FeedFile(TextFile):
|
||||
class FeedFile(JsonFile):
|
||||
|
||||
def __init__(self, filename):
|
||||
"""
|
||||
@@ -21,7 +21,7 @@ class FeedFile(TextFile):
|
||||
feed_str = self.read_text_file()
|
||||
return feedparser.parse(feed_str)
|
||||
|
||||
def write_feed_file(self, feed, serializer=None):
|
||||
def write_feedjson_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
|
||||
@@ -31,8 +31,6 @@ class FeedFile(TextFile):
|
||||
assert isinstance(feed, feedparser.FeedParserDict)
|
||||
|
||||
if serializer is None:
|
||||
serializer = Serializer()
|
||||
feed_string = serializer.serialize(feed)
|
||||
self.write_json_file(feed)
|
||||
else:
|
||||
feed_string = serializer.toString(feed)
|
||||
self.write_text_file(feed_string)
|
||||
self.write_json_file(serializer.serialize(feed))
|
||||
@@ -1,5 +1,5 @@
|
||||
__author__ = 'dev'
|
||||
|
||||
import json
|
||||
from utilities.serializer import Serializer
|
||||
|
||||
class PodcastSerializer(Serializer):
|
||||
@@ -12,4 +12,27 @@ class PodcastSerializer(Serializer):
|
||||
:return: rhe string reprasention of the dict_object
|
||||
"""
|
||||
assert isinstance(dict_object, dict)
|
||||
return str(dict_object)
|
||||
|
||||
episodeList = []
|
||||
|
||||
for episode in dict_object["entries"]:
|
||||
filelink = ""
|
||||
for links in episode["links"]:
|
||||
if links["type"] == 'application/x-bittorrent':
|
||||
filelink = links["href"]
|
||||
|
||||
tempepisode = {
|
||||
"title": episode["title"],
|
||||
"subtitle": episode["subtitle"],
|
||||
"filelink": filelink
|
||||
}
|
||||
episodeList.append(tempepisode)
|
||||
|
||||
tempdict = {
|
||||
"title": dict_object["feed"]["title"],
|
||||
"subtitle": dict_object["feed"]["subtitle"],
|
||||
"summary": dict_object["feed"]["summary"],
|
||||
"episodes": episodeList
|
||||
}
|
||||
|
||||
return tempdict
|
||||
@@ -9,6 +9,7 @@ class Serializer():
|
||||
this method should be override by any subclasses
|
||||
:param dict_object: object wich his to bee convert to a string
|
||||
:return: rhe string reprasention of the dict_object
|
||||
:depicated
|
||||
"""
|
||||
assert isinstance(dict_object, dict)
|
||||
return str(dict_object)
|
||||
return dict_object
|
||||
Reference in New Issue
Block a user