diff options
Diffstat (limited to 'afeedprocessor/afeedprocessor.py')
-rw-r--r-- | afeedprocessor/afeedprocessor.py | 96 |
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 @@ | |||
1 | import PyRSS2Gen | ||
2 | |||
3 | from afeedprocessor.anitemprocessor import ItemProcessor | ||
4 | |||
5 | |||
6 | class 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 | ) | ||