summaryrefslogtreecommitdiffstats
path: root/ebknotify/feed.py
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2020-03-31 22:23:38 +0200
committermakefu <github@syntax-fehler.de>2020-03-31 22:23:38 +0200
commite4942fdab9a43712d56b38dbdb8421d38d7743df (patch)
treef45314001e9e80bcf9ca1d6ec22126db0907e751 /ebknotify/feed.py
parentb9471e7b0576dfbb1157c639c4a34b243f9dd61e (diff)
ebknotify: add feed
Diffstat (limited to 'ebknotify/feed.py')
-rw-r--r--ebknotify/feed.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/ebknotify/feed.py b/ebknotify/feed.py
new file mode 100644
index 0000000..ce0e4a2
--- /dev/null
+++ b/ebknotify/feed.py
@@ -0,0 +1,43 @@
+from feedgen.feed import FeedGenerator
+
+class Feed(FeedGenerator):
+ def __init__(self,ident='root'):
+ super().__init__()
+ super().add_entry
+ self.ident = ident
+ self.id(f'http://ebk.euer.krebsco.de/{ident}')
+ self.title(f'Ebay Kleinanzeigen Feed {ident}')
+ self.author({'name':'Felix Richter', 'email': 'ebk-notify@syntax-fehler.de'})
+ self.link( href=f'http://ebk.euer.krebsco.de/{ident}.atom', rel='self' )
+ self.subtitle(f'Results for ebay kleinanzeingen for identity {ident}')
+ self.language('de')
+
+ def load_cache(self,cache) -> None:
+ for item in cache.store.values():
+ print(item)
+ fe = self.add_entry()
+ available = 'available' if item['notify']['seen'] else 'sold'
+ fe.id(f"{item['notify']['url']}#{available}")
+ fe.category({'term':item['category']['localized-name']['value']})
+ fe.link({'href':item['notify']['url'],'title':'Link to item'})
+ fe.pubDate(item['notify']['creation'])
+ fe.title(f"{item['title']['value']} ({available})")
+ fe.content(f'''
+ <a href="{item['notify']['url']}">
+ <img src="{item['notify']['image']}" />
+ </a>
+ <div>
+ {item['description']['value']}
+ </div>
+ ''',type='CDATA')
+
+ def add_article(self,entry) -> None:
+ pass
+
+ def to_atom(self) -> str:
+ return self.atom_str(pretty=True)
+
+ def to_atom_file(self,filename=None) -> None:
+ if not filename:
+ filename = f'{self.ident}.atom'
+ self.atom_file(filename)