aboutsummaryrefslogtreecommitdiff
path: root/afeedprocessor/afeedprocessor.py
diff options
context:
space:
mode:
Diffstat (limited to 'afeedprocessor/afeedprocessor.py')
-rw-r--r--afeedprocessor/afeedprocessor.py96
1 files changed, 96 insertions, 0 deletions
diff --git a/afeedprocessor/afeedprocessor.py b/afeedprocessor/afeedprocessor.py
new file mode 100644
index 0000000..e3663ee
--- /dev/null
+++ b/afeedprocessor/afeedprocessor.py
@@ -0,0 +1,96 @@
1import PyRSS2Gen
2
3from afeedprocessor.anitemprocessor import ItemProcessor
4
5
6class FeedProcessor:
7 def __init__(self, item_processor: ItemProcessor=None):
8 if item_processor is None:
9 self.item_processor = ItemProcessor()
10 else:
11 self.item_processor = item_processor
12
13 def get_title(self, title, feed):
14 return title
15
16 def get_link(self, link, feed):
17 return link
18
19 def get_description(self, description, feed):
20 return description
21
22 def get_language(self, language, feed):
23 return language
24
25 def get_copyright(self, copyright, feed):
26 return copyright
27
28 def get_managing_editor(self, managing_editor, feed):
29 return managing_editor
30
31 def get_web_master(self, web_master, feed):
32 return web_master
33
34 def get_pub_date(self, pub_date, feed):
35 return pub_date
36
37 def get_last_build_date(self, last_build_date, feed):
38 return last_build_date
39
40 def get_categories(self, categories, feed):
41 return categories
42
43 def get_generator(self, generator, feed):
44 return generator
45
46 def get_docs(self, docs, feed):
47 return docs
48
49 def get_cloud(self, cloud, feed):
50 return cloud
51
52 def get_ttl(self, ttl, feed):
53 return ttl
54
55 def get_image(self, image, feed):
56 return image
57
58 def get_rating(self, rating, feed):
59 return rating
60
61 def get_text_input(self, text_input, feed):
62 return text_input
63
64 def get_skip_hours(self, skip_hours, feed):
65 return skip_hours
66
67 def get_skip_days(self, skip_days, feed):
68 return skip_days
69
70 def get_items(self, items, feed):
71 return [self.item_processor.process(item) for item in items]
72
73 def process(self, feed: PyRSS2Gen.RSS2):
74 return PyRSS2Gen.RSS2(
75 title=self.get_title(feed.title, feed),
76 link=self.get_link(feed.link, feed),
77 description=self.get_description(feed.description, feed),
78 language=self.get_language(feed.language, feed),
79 copyright=self.get_copyright(feed.copyright, feed),
80 managingEditor=self.get_managing_editor(feed.managingEditor, feed),
81 webMaster=self.get_web_master(feed.webMaster, feed),
82 pubDate=self.get_pub_date(feed.pubDate, feed),
83 lastBuildDate=self.get_last_build_date(feed.lastBuildDate, feed),
84 categories=self.get_categories(feed.categories, feed),
85 generator=self.get_generator(feed.generator, feed),
86 docs=self.get_docs(feed.docs, feed),
87 cloud=self.get_cloud(feed.cloud, feed),
88 ttl=self.get_ttl(feed.ttl, feed),
89 image=self.get_image(feed.image, feed),
90 rating=self.get_rating(feed.rating, feed),
91 textInput=self.get_text_input(feed.textInput, feed),
92 skipHours=self.get_skip_hours(feed.skipHours, feed),
93 skipDays=self.get_skip_days(feed.skipDays, feed),
94 items=self.get_items(feed.items, feed)
95 # Hurray for code generation!
96 )