From 809f1a8111c69bb7a2b771ce60a9c493100dacb9 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Fri, 29 Nov 2013 13:06:42 +0100 Subject: [PATCH] init --- .gitignore | 1 + src/feedcrawler/.idea/.name | 1 + .../.idea/dictionaries/stubbfel.xml | 11 + src/feedcrawler/.idea/encodings.xml | 5 + src/feedcrawler/.idea/feedcrawler.iml | 18 + src/feedcrawler/.idea/misc.xml | 5 + src/feedcrawler/.idea/modules.xml | 9 + .../.idea/scopes/scope_settings.xml | 5 + src/feedcrawler/.idea/vcs.xml | 7 + src/feedcrawler/.idea/workspace.xml | 524 ++++++++++++++++++ .../contentmanager/contentloader.py | 1 + src/feedcrawler/feedmanager/__init__.py | 1 + .../__pycache__/__init__.cpython-33.pyc | Bin 0 -> 204 bytes .../__pycache__/feedloader.cpython-33.pyc | Bin 0 -> 1838 bytes src/feedcrawler/feedmanager/feedloader.py | 27 + src/feedcrawler/feedmodel/__init__.py | 1 + .../feedmodel/rssmodel/__init__.py | 1 + .../feedmodel/rssmodel/rssfeedmodel.py | 54 ++ 18 files changed, 671 insertions(+) create mode 100644 .gitignore create mode 100644 src/feedcrawler/.idea/.name create mode 100644 src/feedcrawler/.idea/dictionaries/stubbfel.xml create mode 100644 src/feedcrawler/.idea/encodings.xml create mode 100644 src/feedcrawler/.idea/feedcrawler.iml create mode 100644 src/feedcrawler/.idea/misc.xml create mode 100644 src/feedcrawler/.idea/modules.xml create mode 100644 src/feedcrawler/.idea/scopes/scope_settings.xml create mode 100644 src/feedcrawler/.idea/vcs.xml create mode 100644 src/feedcrawler/.idea/workspace.xml create mode 100644 src/feedcrawler/contentmanager/contentloader.py create mode 100644 src/feedcrawler/feedmanager/__init__.py create mode 100644 src/feedcrawler/feedmanager/__pycache__/__init__.cpython-33.pyc create mode 100644 src/feedcrawler/feedmanager/__pycache__/feedloader.cpython-33.pyc create mode 100644 src/feedcrawler/feedmanager/feedloader.py create mode 100644 src/feedcrawler/feedmodel/__init__.py create mode 100644 src/feedcrawler/feedmodel/rssmodel/__init__.py create mode 100644 src/feedcrawler/feedmodel/rssmodel/rssfeedmodel.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ef5de7b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +testenv/ diff --git a/src/feedcrawler/.idea/.name b/src/feedcrawler/.idea/.name new file mode 100644 index 0000000..badce91 --- /dev/null +++ b/src/feedcrawler/.idea/.name @@ -0,0 +1 @@ +feedcrawler \ No newline at end of file diff --git a/src/feedcrawler/.idea/dictionaries/stubbfel.xml b/src/feedcrawler/.idea/dictionaries/stubbfel.xml new file mode 100644 index 0000000..e94dab0 --- /dev/null +++ b/src/feedcrawler/.idea/dictionaries/stubbfel.xml @@ -0,0 +1,11 @@ + + + + feedcontent + getfeed + loadfeed + storefeed + stubbfel + + + \ No newline at end of file diff --git a/src/feedcrawler/.idea/encodings.xml b/src/feedcrawler/.idea/encodings.xml new file mode 100644 index 0000000..e206d70 --- /dev/null +++ b/src/feedcrawler/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/feedcrawler/.idea/feedcrawler.iml b/src/feedcrawler/.idea/feedcrawler.iml new file mode 100644 index 0000000..6a135ba --- /dev/null +++ b/src/feedcrawler/.idea/feedcrawler.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + diff --git a/src/feedcrawler/.idea/misc.xml b/src/feedcrawler/.idea/misc.xml new file mode 100644 index 0000000..47e414c --- /dev/null +++ b/src/feedcrawler/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/feedcrawler/.idea/modules.xml b/src/feedcrawler/.idea/modules.xml new file mode 100644 index 0000000..861ee5f --- /dev/null +++ b/src/feedcrawler/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/feedcrawler/.idea/scopes/scope_settings.xml b/src/feedcrawler/.idea/scopes/scope_settings.xml new file mode 100644 index 0000000..922003b --- /dev/null +++ b/src/feedcrawler/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/src/feedcrawler/.idea/vcs.xml b/src/feedcrawler/.idea/vcs.xml new file mode 100644 index 0000000..def6a6a --- /dev/null +++ b/src/feedcrawler/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/feedcrawler/.idea/workspace.xml b/src/feedcrawler/.idea/workspace.xml new file mode 100644 index 0000000..318fcd0 --- /dev/null +++ b/src/feedcrawler/.idea/workspace.xml @@ -0,0 +1,524 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1382185842206 + 1382185842206 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + file://$PROJECT_DIR$/feedmodel/rssmodel/rssfeedmodel.py + 8 + + + file://$PROJECT_DIR$/feedmodel/rssmodel/rssfeedmodel.py + 31 + + + file://$PROJECT_DIR$/feedmodel/rssmodel/rssfeedmodel.py + 52 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/feedcrawler/contentmanager/contentloader.py b/src/feedcrawler/contentmanager/contentloader.py new file mode 100644 index 0000000..0dd2404 --- /dev/null +++ b/src/feedcrawler/contentmanager/contentloader.py @@ -0,0 +1 @@ +__author__ = 'stubbfel' diff --git a/src/feedcrawler/feedmanager/__init__.py b/src/feedcrawler/feedmanager/__init__.py new file mode 100644 index 0000000..0dd2404 --- /dev/null +++ b/src/feedcrawler/feedmanager/__init__.py @@ -0,0 +1 @@ +__author__ = 'stubbfel' diff --git a/src/feedcrawler/feedmanager/__pycache__/__init__.cpython-33.pyc b/src/feedcrawler/feedmanager/__pycache__/__init__.cpython-33.pyc new file mode 100644 index 0000000000000000000000000000000000000000..729a37ef1945ef10a7bd832ec802b978bf47fa77 GIT binary patch literal 204 zcmbQo!^>qhFDXcZfq@~J0SPcNFfceUFfbHzF)%QsFfc?hFr+Xt1ZyxcFff#IfFw#v zlakU>bNn-qFEKr}NIyP4GcU6wK3=b&66^q*-29Z%oK!oI^~E6j E0Kly<4FCWD literal 0 HcmV?d00001 diff --git a/src/feedcrawler/feedmanager/__pycache__/feedloader.cpython-33.pyc b/src/feedcrawler/feedmanager/__pycache__/feedloader.cpython-33.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9bda88e8ef969e970479991e86f1bf250b61b0f3 GIT binary patch literal 1838 zcmbQo!^?GcMpDpJCI*IN1|-1Dz`)?Zz`#(f$-uyn!oU#4z>vbokix`}!^jZD#NeL7 z%#gyu(82&Bo0%A*m_c&E8mtTq45b_(eI=zyNolD$nIJR$k{Ll10|Nty1{v)HQWC(x zz)-`$;F`+75XA_#gb8X%3j^3hm>p3p45_RPDXa`BY#=L}85yG3z#{AnDI72nc7_yA zhF}dYkPASBTWV^GPkv%bYEd%CMvwzQG!p{@gEPo>F_7(yAP2-VFw`)C8DLigYk*wo zrvXw~%EG|F5MNxB3}K`cmuP?t0rQGebJ9vdJdiYq2FZe~(Et&pz6=Zu`WgATsrtpx zu+T3k%FjwoE-BVeOHEBlE=nxVNiEVZE=oq>gXD4(^Agiji@@SJU_a;;RD#1bK0Y%q zvm`#A9pnX&;}{q@8B2v37#I-#)q^R*2zIc?l^GZqN*EZj7{Mgi<5|oM&5WQB$YNn= zW@2DWVPJrT0ysvwP|Ppo1X*5^Uz7@RE7(~eM}j#ZC!vNHC@|sS1r8c8L4)uCg-Lp9 z3CJDXAQyrnkb$vO2*vSwP!;g70mU3hB{*!f;bD`-1PYI4Muu8Oh8ji&PzW(FWU+t} zC`gbAlw^XzX~eG-97ZK+x)zZ1&jw0@ML9W{Nu?ks6{QxIrWTig*`-A}`30$Y;P5C) zO-v~TsZB{u&QD2&BrK3?N{e#9fm)PWT#%nvoLb7uz`y|G#HS>dB!WW_Owb@0LD?4; zpM0Qj1i6ucNr+LD2|b~~lqG`#5R~dc&Ie&|U@AZYvxX5IXiN;X;6Te_ga#}mm4S5n zm4XsUIXE=IK?4pWP^gv{WtKog1{9^Bs7=n#D@n~O0q4Aw;u5g>w9K4TaBzSL8iWZa zC>&rZUKGRuC3FTRe#TM})Z|qRQ{|@t3P^B7#>eL+=BCESmvVthlla{Hl+qj!mj}!( zEKSUT%7b*kGA}s2Koe^zNM&(JVo7FlZfZ$JehS!FSm>kXM{wx{wJ9e*IWea=J{}w_ zV1fo=1M(E2@BzhIF~}bROgt<+%tGv7ry%4tKmi99i;qt%Ey>6)ijOY^C9_g+j?shV n7Eq#t2!RzN830OWV84I~8h8lgdK*Y2*?|&fG04emj6BQ$8sD|> literal 0 HcmV?d00001 diff --git a/src/feedcrawler/feedmanager/feedloader.py b/src/feedcrawler/feedmanager/feedloader.py new file mode 100644 index 0000000..a6c06f8 --- /dev/null +++ b/src/feedcrawler/feedmanager/feedloader.py @@ -0,0 +1,27 @@ +__author__ = 'stubbfel' +import urllib.request + + +class FeedLoader: + + def __init__(self, src, dst): + self._src = src + self._dst = dst + + def getfeed(self): + FeedLoader.storefeed(FeedLoader.loadfeed(self._src), self._dst) + + @staticmethod + def loadfeed(url): + response = urllib.request.urlopen(url) + response_data = response.read().decode('utf-8') + + return response_data + + @staticmethod + def storefeed(feedcontent, dst): + file = open(dst, 'w') + file.write(feedcontent) + +#x = FeedLoader("http://www.rssboard.org/files/sample-rss-2.xml", "../../../testenv/feeds/testfeed/feed.xml") +#x.getfeed() \ No newline at end of file diff --git a/src/feedcrawler/feedmodel/__init__.py b/src/feedcrawler/feedmodel/__init__.py new file mode 100644 index 0000000..0dd2404 --- /dev/null +++ b/src/feedcrawler/feedmodel/__init__.py @@ -0,0 +1 @@ +__author__ = 'stubbfel' diff --git a/src/feedcrawler/feedmodel/rssmodel/__init__.py b/src/feedcrawler/feedmodel/rssmodel/__init__.py new file mode 100644 index 0000000..0dd2404 --- /dev/null +++ b/src/feedcrawler/feedmodel/rssmodel/__init__.py @@ -0,0 +1 @@ +__author__ = 'stubbfel' diff --git a/src/feedcrawler/feedmodel/rssmodel/rssfeedmodel.py b/src/feedcrawler/feedmodel/rssmodel/rssfeedmodel.py new file mode 100644 index 0000000..a60a870 --- /dev/null +++ b/src/feedcrawler/feedmodel/rssmodel/rssfeedmodel.py @@ -0,0 +1,54 @@ +__author__ = 'stubbfel' +import xml.etree.ElementTree as et + + +class RSSModel: + + def __init__(self, rawcontent): + self._rawcontent = rawcontent + root = et.fromstring(rawcontent) + self._version = root.get("version") + if self._version != "2.0": + return + + self._channels = [] + for channel in root.findall("./channel"): + self._channels.append(RSSChannel(channel)) + + @property + def rawcontent(self): + return self._rawcontent + + @property + def version(self): + return self._version + + @property + def channels(self): + return self._channels + + +class RSSChannel: + def __init__(self, channel): + self._title = channel.find("title").text + self._link = channel.find("link").text + self._description = channel.find("description").text + + @property + def title(self): + return self._title + + @property + def link(self): + return self._link + + @property + def description(self): + return self._description + + +import feedmanager.feedloader as fl +x = fl.FeedLoader.loadfeed("file:../../../../../feedcrawler/testenv/feeds/testfeed/feed.xml") +y = RSSModel(x) +print("bla") +#x.getfeed() \ No newline at end of file