rename entrie handler

This commit is contained in:
stubbfel
2014-08-31 21:48:44 +02:00
parent 4cb8a73190
commit 642dfa2d0c
11 changed files with 404 additions and 104 deletions

12
src/feed/FeedEntry.py Normal file
View File

@@ -0,0 +1,12 @@
__author__ = 'dev'
class FeedEntry:
class Status:
New = "New"
Loading = "Loading"
Loaded = "Loaded"
class KeyName:
EntryKey = "entries"
EntryStatusKey = "EntryStatus"

29
src/feed/entry_handler.py Normal file
View File

@@ -0,0 +1,29 @@
__author__ = 'dev'
from feed.feed import Feed
import utilities.file_methods as fm
from feed.FeedEntry import FeedEntry
class EntryHandler():
def __init__(self, feed):
assert isinstance(feed, Feed)
self._feed = feed
def handle_entries(self):
for entry in self.detect_new_entries():
self.handle_entry(entry)
def detect_new_entries(self):
new_links = []
for entry in fm.read_json_file(self._feed.feed_file_path)[FeedEntry.KeyName.EntryKey]:
status = entry.get(FeedEntry.KeyName.EntryStatusKey)
if status is None or status == FeedEntry.Status.New:
new_links.append(entry)
return new_links
def handle_entry(self, link):
pass

View File

@@ -2,6 +2,7 @@ __author__ = 'dev'
from config.config import Config
from utilities.podcastserializer import PodcastSerializer
from utilities.serializer import Serializer
import feedparser
import os
import utilities.file_methods as fm
@@ -62,8 +63,9 @@ class Feed:
:return: Serializer - the serializer of the feed
"""
return {
"podcast": PodcastSerializer(self.feed_config["LinkType"])
}.get(self.feed_config["FeedType"], PodcastSerializer(self.feed_config["LinkType"]))
"podcast": PodcastSerializer(self.feed_config["LinkType"]),
"rss": Serializer()
}.get(self.feed_config["FeedType"], Serializer())
def setup_feed(self, feed_name, feed_type, link_type, feed_url):
"""

View File

@@ -0,0 +1,5 @@
__author__ = 'dev'
class PodcastKeys:
FileLink = "file_link"
FileLength = "length"

View File

@@ -6,6 +6,7 @@ from config.config import Config
RSS_Prefix = "<?xml version=\"1.0\"?><rss version=\"2.0\"><channel>"
RSS_Suffix = "</channel></rss>"
class PodcastSerializer(Serializer):
def __init__(self, episode_file_type):
@@ -20,35 +21,35 @@ class PodcastSerializer(Serializer):
"""
assert isinstance(dict_object, dict)
episodeList = []
episode_list = []
for episode in dict_object["entries"]:
filelink = ""
file_link = ""
file_length = ""
for links in episode["links"]:
if links["type"] == self.episode_file_type and links["rel"] == "enclosure":
filelink = links["href"]
file_link = links["href"]
file_length = links["length"]
if filelink == "":
if file_link == "":
continue
tempepisode = {
temp_episode = {
"title": episode["title"],
"subtitle": episode["subtitle"],
"filelink": filelink,
"file_link": file_link,
"pubdate": episode["published"],
"length": file_length
}
episodeList.append(tempepisode)
episode_list.append(temp_episode)
tempdict = {
temp_dict = {
"title": dict_object["feed"]["title"],
"subtitle": dict_object["feed"]["subtitle"],
"summary": dict_object["feed"]["summary"],
"episodes": episodeList
"episodes": episode_list
}
return tempdict
return temp_dict
def serialize_rss(self, dict_object):
assert isinstance(dict_object, dict)
@@ -62,7 +63,7 @@ class PodcastSerializer(Serializer):
episodes_list += "<title>" + episode["title"] + "</title>"
episodes_list += "<description>" + episode["subtitle"] + "</description>"
episodes_list += "<pubDate>" + episode["pubdate"] + "</pubDate>"
episodes_list += "<enclosure url=\"" + episode["filelink"] + "\" type=\"" + self.episode_file_type + "\" length=\"" + episode["length"] + "\"/>"
episodes_list += "<enclosure url=\"" + episode["file_link"] + "\" type=\"" + self.episode_file_type + "\" length=\"" + episode["length"] + "\"/>"
episodes_list += "</item>"
return RSS_Prefix + rss_channel_info + episodes_list + RSS_Suffix

View File

@@ -1,210 +1,210 @@
{
"title": "Staatsb\u00fcrgerkunde",
"summary": "Ein Podcast \u00fcber das Leben in der DDR. Im Gespr\u00e4ch mit G\u00e4sten schaut Martin Fischer in jeder Folge zur\u00fcck auf die Lebensaspekte eines B\u00fcrgers der ehemaligen Deutschen Demokratischen Republik. Vom Schulsystem, dem kulturellen Leben bis hin zu den politischen Repressionen reicht das Themenspektrum. Der Podcast erscheint ungef\u00e4hr alle drei Wochen.",
"episodes": [
{
"title": "SBK028 Arbeit",
"pubdate": "Sat, 12 Oct 2013 04:00:44 +0000",
"length": "32992167",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK028_Arbeit.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK028_Arbeit.mp3.torrent",
"subtitle": "Von Kollektivleistungen, Planstellen und dem Lohn der Arbeit",
"title": "SBK028 Arbeit"
"length": "32992167"
},
{
"title": "SBK027 Lehrerberuf",
"pubdate": "Sat, 21 Sep 2013 04:00:24 +0000",
"length": "30136877",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK027_Lehrerberuf.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK027_Lehrerberuf.mp3.torrent",
"subtitle": "Vom Traumberuf, Experimenten und Schulpolitik",
"title": "SBK027 Lehrerberuf"
"length": "30136877"
},
{
"title": "SBK026 Lebensmittel",
"pubdate": "Sat, 31 Aug 2013 04:00:56 +0000",
"length": "26770243",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK026_Lebensmittel.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK026_Lebensmittel.mp3.torrent",
"subtitle": "Vom Konsum, geheimem Rotwein und Tieren ohne Lenden",
"title": "SBK026 Lebensmittel"
"length": "26770243"
},
{
"title": "SBK025 Wohnen",
"pubdate": "Sat, 10 Aug 2013 04:00:17 +0000",
"length": "38635646",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK025_Wohnen.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK025_Wohnen.mp3.torrent",
"subtitle": "Von sch\u00f6nen Plattenbauten, viel Kohle und ganz viel Eigenleistung",
"title": "SBK025 Wohnen"
"length": "38635646"
},
{
"title": "SBK024 Kirchenmusik",
"pubdate": "Mon, 15 Jul 2013 17:00:13 +0000",
"length": "38199474",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK024_Kirchenmusik.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK024_Kirchenmusik.mp3.torrent",
"subtitle": "Von gezogenen Registern, ungew\u00f6hnlichen Berufswegen und gro\u00dfer Musik",
"title": "SBK024 Kirchenmusik"
"length": "38199474"
},
{
"title": "SBK023 Feier- und Gedenktage",
"pubdate": "Sat, 29 Jun 2013 04:00:35 +0000",
"length": "32919850",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK023_Feier_und_Gedenktage.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK023_Feier_und_Gedenktage.mp3.torrent",
"subtitle": "Von Halbtags-Demonstranten, Papiertauben und Tagedieben",
"title": "SBK023 Feier- und Gedenktage"
"length": "32919850"
},
{
"title": "SBK022 Station",
"pubdate": "Sat, 08 Jun 2013 04:00:10 +0000",
"length": "37727485",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK022_Station.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK022_Station.mp3.torrent",
"subtitle": "Vom Forscherdrang, Wechselblinkern und n\u00e4chtlichen Bastelrunden",
"title": "SBK022 Station"
"length": "37727485"
},
{
"title": "SBK021 Wahlen",
"pubdate": "Sun, 19 May 2013 09:03:45 +0000",
"length": "26309869",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK021_Wahlen.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK021_Wahlen.mp3.torrent",
"subtitle": "Wir sprechen \u00fcber Blockparteien, gefaltete Zettel und Wahlbeobachtungen in beide Richtungen.",
"title": "SBK021 Wahlen"
"length": "26309869"
},
{
"title": "SBK020 Gesundheitssystem",
"pubdate": "Sat, 27 Apr 2013 04:00:58 +0000",
"length": "28570821",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK020_Gesundheitssystem.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK020_Gesundheitssystem.mp3.torrent",
"subtitle": "Gesundheit \u2013 ist das Thema unserer heutigen Folge. Wie war es, wenn man in der DDR krank war und zum Arzt, zur \u00c4rztin oder gar ins Krankenhaus musste? Wie war man krankenversichert und warum sind Polikliniken auch heute noch modern?",
"title": "SBK020 Gesundheitssystem"
"length": "28570821"
},
{
"title": "SBK019 NVA",
"pubdate": "Sat, 06 Apr 2013 04:00:26 +0000",
"length": "35877572",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK019_NVA.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK019_NVA.mp3.torrent",
"subtitle": "Wir sprechen \u00fcber den Grundwehrdienst meines Vaters in der Nationalen Volksarmee und welche Erfahrungen er und wir in dieser Zeit gemacht haben.",
"title": "SBK019 NVA"
"length": "35877572"
},
{
"title": "SBK018 Ausreise (Teil 2)",
"pubdate": "Sat, 16 Mar 2013 05:00:20 +0000",
"length": "34306613",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK018_Ausreise_Teil_2.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK018_Ausreise_Teil_2.mp3.torrent",
"subtitle": "Die Ausreise ist genehmigt \u2013 wie ging es nun weiter? Wir sprechen in dieser Folge \u00fcber die Zeit bis zum Ausreisetag, unsere Ankunft in der BRD und die ersten Schritte in diesem f\u00fcr uns neuen Land.",
"title": "SBK018 Ausreise (Teil 2)"
"length": "34306613"
},
{
"title": "SBK017 Ausreise (Teil 1)",
"pubdate": "Sat, 23 Feb 2013 05:00:50 +0000",
"length": "43723255",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK017_Ausreise_Teil_1.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK017_Ausreise_Teil_1.mp3.torrent",
"subtitle": "Meine Eltern haben 1987 einen Ausreiseantrag gestellt. Warum sie diesen Schritt gewagt haben, welche Konsequenzen er mit sich brachte und was w\u00e4hrend der zweij\u00e4hrigen Wartezeit bis zur Ausreisegenehmigung alles geschah, dar\u00fcber sprechen wir in dieser Folge.",
"title": "SBK017 Ausreise (Teil 1)"
"length": "43723255"
},
{
"title": "SBK016 Geschlechterrollen",
"pubdate": "Sat, 02 Feb 2013 05:00:54 +0000",
"length": "49337236",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK016_Geschlechterrollen.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK016_Geschlechterrollen.mp3.torrent",
"subtitle": "Ost, West, Mann, Frau: Mit Katrin R\u00f6nicke spreche ich \u00fcber die unterschiedlichen Geschlechterbilder in der DDR und der BRD und wie es war, als M\u00e4dchen oder Junge in den beiden Deutschlands aufzuwachsen.",
"title": "SBK016 Geschlechterrollen"
"length": "49337236"
},
{
"title": "SBK015 Deutsche Reichsbahn",
"pubdate": "Sat, 12 Jan 2013 05:00:07 +0000",
"length": "45256236",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK015_Deutsche_Reichsbahn.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK015_Deutsche_Reichsbahn.mp3.torrent",
"subtitle": "Alle einsteigen und Vorsicht bei der Abfahrt! Mit Ingo Ebel spreche ich in dieser Episode \u00fcber die Deutsche Reichsbahn.",
"title": "SBK015 Deutsche Reichsbahn"
"length": "45256236"
},
{
"title": "SBK014 Weihnachten",
"pubdate": "Sat, 22 Dec 2012 05:00:49 +0000",
"length": "28653301",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK014_Weihnachten.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK014_Weihnachten.mp3.torrent",
"subtitle": "In der letzten Sendung f\u00fcr 2012 sprechen wir \u00fcber das Weihnachtsfest in der DDR.",
"title": "SBK014 Weihnachten"
"length": "28653301"
},
{
"title": "SBK013 Computer",
"pubdate": "Sat, 01 Dec 2012 05:00:41 +0000",
"length": "29335939",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK013_Computer.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK013_Computer.mp3.torrent",
"subtitle": "Die Anf\u00e4nge des digitalen Zeitalters in der DDR besch\u00e4ftigen meinen Papa und mich in dieser Episode.",
"title": "SBK013 Computer"
"length": "29335939"
},
{
"title": "SBK012 Kino",
"pubdate": "Sat, 10 Nov 2012 05:00:56 +0000",
"length": "47995194",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK012_Kino.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK012_Kino.mp3.torrent",
"subtitle": "In Spielfilml\u00e4nge pr\u00e4sentiert sich die aktuelle Episode. Mit Eric vom Kinocast spreche ich \u00fcber das Kino in der DDR.",
"title": "SBK012 Kino"
"length": "47995194"
},
{
"title": "SBK011 Radio und Fernsehfunk",
"pubdate": "Sat, 20 Oct 2012 04:00:25 +0000",
"length": "34995346",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK011_Radio_und_Fernsehfunk.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK011_Radio_und_Fernsehfunk.mp3.torrent",
"subtitle": "Die Massenmedien Radio und Fernsehen besch\u00e4ftigen uns im dritten Teil unserer Medienreihe. Darin sprechen wir \u00fcber den Rundfunk in der DDR.",
"title": "SBK011 Radio und Fernsehfunk"
"length": "34995346"
},
{
"title": "SBK010 B\u00fccher",
"pubdate": "Sat, 29 Sep 2012 04:00:53 +0000",
"length": "18982902",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK010_Buecher.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK010_Buecher.mp3.torrent",
"subtitle": "In dieser Ausgabe \u2013 dem zweiten Teil unserer Medienreihe \u2013 sprechen wir \u00fcber B\u00fccher in der DDR.",
"title": "SBK010 B\u00fccher"
"length": "18982902"
},
{
"title": "SBK009 Zeitungen und Zeitschriften",
"pubdate": "Sat, 08 Sep 2012 04:00:18 +0000",
"length": "19821953",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK009_Zeitungen_und_Zeitschriften.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK009_Zeitungen_und_Zeitschriften.mp3.torrent",
"subtitle": "In dieser und den n\u00e4chsten beiden Episoden sprechen wir \u00fcber verschiedene DDR-Medien, von der gedruckten Zeitung \u00fcber B\u00fccher bis hin zum Rundfunk. Im ersten Teil schauen wir uns das Presseangebot etwas genauer an.",
"title": "SBK009 Zeitungen und Zeitschriften"
"length": "19821953"
},
{
"title": "SBK008 Comic MOSAIK",
"pubdate": "Sat, 18 Aug 2012 04:00:57 +0000",
"length": "16969503",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK008_Comic_MOSAIK.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK008_Comic_MOSAIK.mp3.torrent",
"subtitle": "Comics in der DDR? Klar, auch die gab es! Und deren ber\u00fchmtester Vertreter ist das MOSAIK. Ich spreche mit dem k\u00fcnstlerischen Leiter des MOSAIK, J\u00f6rg Reuter, \u00fcber seine Zeit als Comicmacher in der DDR \u2013 und heute.",
"title": "SBK008 Comic MOSAIK"
"length": "16969503"
},
{
"title": "SBK007 Verkehrsmittel",
"pubdate": "Sat, 28 Jul 2012 04:00:08 +0000",
"length": "22724557",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK007_Verkehrsmittel.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK007_Verkehrsmittel.mp3.torrent",
"subtitle": "Wie kam man als DDR-B\u00fcrger von A nach B? Zu Fu\u00df, mit Bus und Bahn oder gar mit dem eigenen Auto? Womit man in der DDR alles unterwegs war, dar\u00fcber sprechen wir in der heutigen Episode.",
"title": "SBK007 Verkehrsmittel"
"length": "22724557"
},
{
"title": "SBK006 Urlaub",
"pubdate": "Sat, 07 Jul 2012 04:00:10 +0000",
"length": "24172798",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK006_Urlaub.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK006_Urlaub.mp3.torrent",
"subtitle": "Sommer, Sonne, Strand und Meer: Auch in der DDR zog es die Menschen im Urlaub in die Ferne. In unserer Urlaubsfolge sprechen wir in gewohnter Besetzung \u00fcber Ferienspiele, wichtige Anmeldelisten und FDGB-Heime.",
"title": "SBK006 Urlaub"
"length": "24172798"
},
{
"title": "SBK005 Spielekopien",
"pubdate": "Sat, 16 Jun 2012 04:00:58 +0000",
"length": "25494334",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK005_Spielekopien.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK005_Spielekopien.mp3.torrent",
"subtitle": "Die Brettspiele Monopoly, Sagaland oder Scotland Yard gab es in der DDR nicht zu kaufen. Und sie wurden dennoch gespielt, weil kreative Bastler sie einfach nachgemacht haben. Das Projekt \"Nachgemacht\" rettet solche Spielekopien vor dem Vergessen.",
"title": "SBK005 Spielekopien"
"length": "25494334"
},
{
"title": "SBK004 Kleidung und Mode",
"pubdate": "Sat, 26 May 2012 04:00:55 +0000",
"length": "16925540",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK004_Kleidung_und_Mode.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK004_Kleidung_und_Mode.mp3.torrent",
"subtitle": "Diese Folge ist komplett durchgestylt: Wir sprechen \u00fcber Kleidung und Mode in der DDR.",
"title": "SBK004 Kleidung und Mode"
"length": "16925540"
},
{
"title": "SBK003 Schulsystem (Teil 2)",
"pubdate": "Sat, 05 May 2012 04:00:25 +0000",
"length": "31037098",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK003_Schulsystem_Teil_2.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK003_Schulsystem_Teil_2.mp3.torrent",
"subtitle": "Nahtlos schlie\u00dfen wir an die letzte Folge an und sprechen \u00fcber den Oberstufenunterricht im DDR-Schulsystem.",
"title": "SBK003 Schulsystem (Teil 2)"
"length": "31037098"
},
{
"title": "SBK002 Schulsystem (Teil 1)",
"pubdate": "Sat, 14 Apr 2012 05:40:35 +0000",
"length": "46541265",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK002_Schulsystem_Teil_1.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK002_Schulsystem_Teil_1.mp3.torrent",
"subtitle": "Auf dem Stundenplan steht heute das Schulsystem in der DDR. Aufgrund der vielen Aspekte, die dieses Themenfeld in sich birgt, ist diese Ausgabe der erste Teil einer Doppelfolge.",
"title": "SBK002 Schulsystem (Teil 1)"
"length": "46541265"
},
{
"title": "SBK001 Stab\u00fc",
"pubdate": "Fri, 23 Mar 2012 14:55:26 +0000",
"length": "30616053",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK001_Stabue.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK001_Stabue.mp3.torrent",
"subtitle": "Die erste Folge nimmt sich das Schulfach vor, das dem Podcast seinen Namen gegeben hat: Staatsb\u00fcrgerkunde oder kurz \"Stab\u00fc\" genannt. Welchem Zweck diente dieses Fach? Welche Inhalte sollten im Unterricht vermittelt werden? Und wie gingen Lehrer und Sch\u00fcler mit offensichtlichen Widerspr\u00fcchen zwischen Fach und Realit\u00e4t um?",
"title": "SBK001 Stab\u00fc"
"length": "30616053"
},
{
"title": "SBK000 Nullnummer",
"pubdate": "Sun, 04 Mar 2012 07:46:19 +0000",
"length": "2123022",
"filelink": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK000_Nullnummer.mp3.torrent",
"file_link": "http://bitlove.org/nitramred/staatsbuergerkunde-mp3/SBK000_Nullnummer.mp3.torrent",
"subtitle": "Los geht's: Die Nullnummer ist da! Darin erkl\u00e4re ich, was ich mit \"Staatsb\u00fcrgerkunde\" vorhabe, wann die erste regul\u00e4re Folge zu h\u00f6ren sein wird um worum es darin geht.",
"title": "SBK000 Nullnummer"
"length": "2123022"
}
],
"summary": "Ein Podcast \u00fcber das Leben in der DDR. Im Gespr\u00e4ch mit G\u00e4sten schaut Martin Fischer in jeder Folge zur\u00fcck auf die Lebensaspekte eines B\u00fcrgers der ehemaligen Deutschen Demokratischen Republik. Vom Schulsystem, dem kulturellen Leben bis hin zu den politischen Repressionen reicht das Themenspektrum. Der Podcast erscheint ungef\u00e4hr alle drei Wochen.",
"subtitle": "Vom Leben in der DDR",
"title": "Staatsb\u00fcrgerkunde"
"subtitle": "Vom Leben in der DDR"
}

View File

@@ -0,0 +1,6 @@
{
"FeedType": "rss",
"FeedName": "example",
"FeedUrl": "testfeeds/rss/feed.xml",
"LinkType": "application/x-bittorrent"
}

View File

@@ -0,0 +1,211 @@
{
"encoding": "utf-8",
"version": "rss20",
"namespaces": {},
"bozo": 0,
"entries": [
{
"title": "Star City",
"title_detail": {
"value": "Star City",
"base": "",
"type": "text/plain",
"language": null
},
"published": "Tue, 03 Jun 2003 09:39:21 GMT",
"summary": "How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's <a href=\"http://howe.iki.rssi.ru/GCTC/gctc_e.htm\">Star City</a>.",
"links": [
{
"rel": "alternate",
"href": "http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp",
"type": "text/html"
}
],
"summary_detail": {
"value": "How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's <a href=\"http://howe.iki.rssi.ru/GCTC/gctc_e.htm\">Star City</a>.",
"base": "",
"type": "text/html",
"language": null
},
"id": "http://liftoff.msfc.nasa.gov/2003/06/03.html#item573",
"link": "http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp",
"published_parsed": [
2003,
6,
3,
9,
39,
21,
1,
154,
0
],
"guidislink": false
},
{
"guidislink": true,
"published": "Fri, 30 May 2003 11:06:42 GMT",
"published_parsed": [
2003,
5,
30,
11,
6,
42,
4,
150,
0
],
"summary": "Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a <a href=\"http://science.nasa.gov/headlines/y2003/30may_solareclipse.htm\">partial eclipse of the Sun</a> on Saturday, May 31st.",
"summary_detail": {
"value": "Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a <a href=\"http://science.nasa.gov/headlines/y2003/30may_solareclipse.htm\">partial eclipse of the Sun</a> on Saturday, May 31st.",
"base": "",
"type": "text/html",
"language": null
},
"id": "http://liftoff.msfc.nasa.gov/2003/05/30.html#item572",
"link": "http://liftoff.msfc.nasa.gov/2003/05/30.html#item572"
},
{
"title": "The Engine That Does More",
"title_detail": {
"value": "The Engine That Does More",
"base": "",
"type": "text/plain",
"language": null
},
"published": "Tue, 27 May 2003 08:37:32 GMT",
"summary": "Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that.",
"links": [
{
"rel": "alternate",
"href": "http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp",
"type": "text/html"
}
],
"summary_detail": {
"value": "Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that.",
"base": "",
"type": "text/html",
"language": null
},
"id": "http://liftoff.msfc.nasa.gov/2003/05/27.html#item571",
"link": "http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp",
"published_parsed": [
2003,
5,
27,
8,
37,
32,
1,
147,
0
],
"guidislink": false
},
{
"title": "Astronauts' Dirty Laundry",
"title_detail": {
"value": "Astronauts' Dirty Laundry",
"base": "",
"type": "text/plain",
"language": null
},
"published": "Tue, 20 May 2003 08:56:02 GMT",
"summary": "Compared to earlier spacecraft, the International Space Station has many luxuries, but laundry facilities are not one of them. Instead, astronauts have other options.",
"links": [
{
"rel": "alternate",
"href": "http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp",
"type": "text/html"
}
],
"summary_detail": {
"value": "Compared to earlier spacecraft, the International Space Station has many luxuries, but laundry facilities are not one of them. Instead, astronauts have other options.",
"base": "",
"type": "text/html",
"language": null
},
"id": "http://liftoff.msfc.nasa.gov/2003/05/20.html#item570",
"link": "http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp",
"published_parsed": [
2003,
5,
20,
8,
56,
2,
1,
140,
0
],
"guidislink": false
}
],
"feed": {
"title": "Liftoff News",
"authors": [
{}
],
"title_detail": {
"value": "Liftoff News",
"base": "",
"type": "text/plain",
"language": null
},
"published": "Tue, 10 Jun 2003 04:00:00 GMT",
"generator_detail": {
"name": "Weblog Editor 2.0"
},
"subtitle_detail": {
"value": "Liftoff to Space Exploration.",
"base": "",
"type": "text/html",
"language": null
},
"link": "http://liftoff.msfc.nasa.gov/",
"language": "en-us",
"publisher_detail": {
"email": "webmaster@example.com"
},
"links": [
{
"rel": "alternate",
"href": "http://liftoff.msfc.nasa.gov/",
"type": "text/html"
}
],
"docs": "http://blogs.law.harvard.edu/tech/rss",
"subtitle": "Liftoff to Space Exploration.",
"author_detail": {
"email": "editor@example.com"
},
"publisher": "webmaster@example.com",
"updated_parsed": [
2003,
6,
10,
9,
41,
1,
1,
161,
0
],
"published_parsed": [
2003,
6,
10,
4,
0,
0,
1,
161,
0
],
"updated": "Tue, 10 Jun 2003 09:41:01 GMT",
"author": "editor@example.com",
"generator": "Weblog Editor 2.0"
}
}

View File

@@ -0,0 +1,33 @@
__author__ = 'dev'
import unittest
from feed.entry_handler import EntryHandler
from feed.feed import Feed
import utilities.file_methods as fm
class TestEntryHandler(unittest.TestCase):
def setUp(self):
self.__feed = Feed("example", "rss", "application/x-bittorrent", "testfeeds/rss/example/feed.xml")
self.__lh = EntryHandler(self.__feed)
def test__init_wrong_feed_object(self):
self.assertRaises(AssertionError, EntryHandler, None)
self.assertRaises(AssertionError, EntryHandler, self.__lh)
def test_handle_entries(self):
self.__lh.handle_entries()
self.assertTrue(True)
def test_handle_entry(self):
self.__lh.handle_entry("www.example.com")
self.assertTrue(True)
def test_detect_new_entries(self):
feed_obj = fm.read_json_file(self.__feed.feed_file_path)
self.assertListEqual(self.__lh.detect_new_entries(), feed_obj["entries"])
if __name__ == '__main__':
unittest.main()

View File

@@ -15,7 +15,7 @@ class TestFileMethod(unittest.TestCase):
self.__text_file_content = "this is a test"
self.__json_object_file_content = {"1": "4711", "123": "0815"}
self.__json_string_file_content = "{\"1\": \"4711\", \"123\": \"0815\"}"
self.__feed_file_path = "testfeeds/rss/feed.xml"
self.__feed_file_path = "testfeeds/rss/example/feed.xml"
self.__feed_json_file_path = "testfeed.json"
self.__empty_string = ""
self.__wrong_dict = "{1}"
@@ -97,5 +97,6 @@ class TestFileMethod(unittest.TestCase):
self.assertRaises(AssertionError, fm.write_feed_json_file, self.__feed_json_file_path, None, None)
fm.check_and_remove_file(self.__feed_json_file_path)
if __name__ == '__main__':
unittest.main()