From c0a1acc18c46aff92c76e6b84b6d55534195bc76 Mon Sep 17 00:00:00 2001 From: Bob Breznak Date: Tue, 12 Sep 2017 10:50:26 -0400 Subject: [PATCH] Add Simple GeoRSS support --- feedgen/ext/geo.py | 15 +++++++++++++++ feedgen/ext/geo_entry.py | 22 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 feedgen/ext/geo.py create mode 100644 feedgen/ext/geo_entry.py diff --git a/feedgen/ext/geo.py b/feedgen/ext/geo.py new file mode 100644 index 0000000..e4370e3 --- /dev/null +++ b/feedgen/ext/geo.py @@ -0,0 +1,15 @@ +from lxml import etree +from feedgen.ext.base import BaseExtension + +class GeoExtension(BaseExtension): + def __init__(self): + self.__point__ = None + + def extend_ns(self): + return { 'georss' : 'http://www.georss.org/georss' } + + def extend_rss(self, rss_feed): + return rss_feed + + def extend_atom(self, atom_feed): + return atom_feed diff --git a/feedgen/ext/geo_entry.py b/feedgen/ext/geo_entry.py new file mode 100644 index 0000000..d158c4b --- /dev/null +++ b/feedgen/ext/geo_entry.py @@ -0,0 +1,22 @@ +from lxml import etree +from feedgen.ext.base import BaseEntryExtension + +class GeoEntryExtension(BaseEntryExtension): + def __init__(self): + self.__point = None + + def extend_rss(self, entry): + GEO_NS = 'http://www.georss.org/georss' + + if self.__point: + point = etree.SubElement(entry, '{%s}point' % GEO_NS) + point.text = self.__point + + return entry + + def extend_atom(self, entry): + return self.extend_rss(self, entry) + + def point(self, point=None): + self.__point = point or '0.0 0.0' + return self.__point