Proper initialization
This commit is contained in:
parent
dd0d742e6d
commit
66689be7ff
5 changed files with 123 additions and 95 deletions
|
@ -20,38 +20,39 @@ class FeedEntry(object):
|
||||||
node.
|
node.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
# ATOM
|
# ATOM
|
||||||
# required
|
# required
|
||||||
__atom_id = None
|
self.__atom_id = None
|
||||||
__atom_title = None
|
self.__atom_title = None
|
||||||
__atom_updated = datetime.now(dateutil.tz.tzutc())
|
self.__atom_updated = datetime.now(dateutil.tz.tzutc())
|
||||||
|
|
||||||
# recommended
|
# recommended
|
||||||
__atom_author = None
|
self.__atom_author = None
|
||||||
__atom_content = None
|
self.__atom_content = None
|
||||||
__atom_link = None
|
self.__atom_link = None
|
||||||
__atom_summary = None
|
self.__atom_summary = None
|
||||||
|
|
||||||
# optional
|
# optional
|
||||||
__atom_category = None
|
self.__atom_category = None
|
||||||
__atom_contributor = None
|
self.__atom_contributor = None
|
||||||
__atom_source = None
|
self.__atom_source = None
|
||||||
__atom_rights = None
|
self.__atom_rights = None
|
||||||
|
|
||||||
# RSS
|
# RSS
|
||||||
__rss_author = None
|
self.__rss_author = None
|
||||||
__rss_category = None
|
self.__rss_category = None
|
||||||
__rss_comments = None
|
self.__rss_comments = None
|
||||||
__rss_description = None
|
self.__rss_description = None
|
||||||
__rss_enclosure = None
|
self.__rss_enclosure = None
|
||||||
__rss_guid = None
|
self.__rss_guid = None
|
||||||
__rss_link = None
|
self.__rss_link = None
|
||||||
__rss_pubDate = None
|
self.__rss_pubDate = None
|
||||||
__rss_source = None
|
self.__rss_source = None
|
||||||
__rss_title = None
|
self.__rss_title = None
|
||||||
|
|
||||||
# Extension list:
|
# Extension list:
|
||||||
__extensions = {}
|
self.__extensions = {}
|
||||||
|
|
||||||
|
|
||||||
def atom_entry(self, feed, extensions=True):
|
def atom_entry(self, feed, extensions=True):
|
||||||
|
|
|
@ -19,18 +19,19 @@ class PodcastExtension(BaseExtension):
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
## ITunes tags
|
## ITunes tags
|
||||||
# http://www.apple.com/itunes/podcasts/specs.html#rss
|
# http://www.apple.com/itunes/podcasts/specs.html#rss
|
||||||
__itunes_author = None
|
self.__itunes_author = None
|
||||||
__itunes_block = None
|
self.__itunes_block = None
|
||||||
__itunes_category = None
|
self.__itunes_category = None
|
||||||
__itunes_image = None
|
self.__itunes_image = None
|
||||||
__itunes_explicit = None
|
self.__itunes_explicit = None
|
||||||
__itunes_complete = None
|
self.__itunes_complete = None
|
||||||
__itunes_new_feed_url = None
|
self.__itunes_new_feed_url = None
|
||||||
__itunes_owner = None
|
self.__itunes_owner = None
|
||||||
__itunes_subtitle = None
|
self.__itunes_subtitle = None
|
||||||
__itunes_summary = None
|
self.__itunes_summary = None
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,17 +19,18 @@ class PodcastEntryExtension(BaseEntryExtension):
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
## ITunes tags
|
## ITunes tags
|
||||||
# http://www.apple.com/itunes/podcasts/specs.html#rss
|
# http://www.apple.com/itunes/podcasts/specs.html#rss
|
||||||
__itunes_author = None
|
self.__itunes_author = None
|
||||||
__itunes_block = None
|
self.__itunes_block = None
|
||||||
__itunes_image = None
|
self.__itunes_image = None
|
||||||
__itunes_duration = None
|
self.__itunes_duration = None
|
||||||
__itunes_explicit = None
|
self.__itunes_explicit = None
|
||||||
__itunes_is_closed_captioned = None
|
self.__itunes_is_closed_captioned = None
|
||||||
__itunes_order = None
|
self.__itunes_order = None
|
||||||
__itunes_subtitle = None
|
self.__itunes_subtitle = None
|
||||||
__itunes_summary = None
|
self.__itunes_summary = None
|
||||||
|
|
||||||
|
|
||||||
def extend_rss(self, entry):
|
def extend_rss(self, entry):
|
||||||
|
|
|
@ -15,66 +15,74 @@ import dateutil.parser
|
||||||
import dateutil.tz
|
import dateutil.tz
|
||||||
from feedgen.entry import FeedEntry
|
from feedgen.entry import FeedEntry
|
||||||
from feedgen.util import ensure_format
|
from feedgen.util import ensure_format
|
||||||
|
import feedgen.version
|
||||||
|
|
||||||
|
|
||||||
|
_feedgen_version = feedgen.version.version
|
||||||
|
|
||||||
_feedgen_version = '0.2.3'
|
|
||||||
|
|
||||||
class FeedGenerator(object):
|
class FeedGenerator(object):
|
||||||
'''FeedGenerator for generating ATOM and RSS feeds.
|
'''FeedGenerator for generating ATOM and RSS feeds.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
__feed_entries = []
|
|
||||||
|
def __init__(self):
|
||||||
|
self.__extensions = {}
|
||||||
|
self.__feed_entries = []
|
||||||
|
|
||||||
## ATOM
|
## ATOM
|
||||||
# http://www.atomenabled.org/developers/syndication/
|
# http://www.atomenabled.org/developers/syndication/
|
||||||
# required
|
# required
|
||||||
__atom_id = None
|
self.__atom_id = None
|
||||||
__atom_title = None
|
self.__atom_title = None
|
||||||
__atom_updated = datetime.now(dateutil.tz.tzutc())
|
self.__atom_updated = datetime.now(dateutil.tz.tzutc())
|
||||||
|
|
||||||
# recommended
|
# recommended
|
||||||
__atom_author = None # {name*, uri, email}
|
self.__atom_author = None # {name*, uri, email}
|
||||||
__atom_link = None # {href*, rel, type, hreflang, title, length}
|
self.__atom_link = None # {href*, rel, type, hreflang, title, length}
|
||||||
|
|
||||||
# optional
|
# optional
|
||||||
__atom_category = None # {term*, schema, label}
|
self.__atom_category = None # {term*, schema, label}
|
||||||
__atom_contributor = None
|
self.__atom_contributor = None
|
||||||
__atom_generator = {'value':'Lernfunk3 FeedGenerator'} #{value*,uri,version}
|
self.__atom_generator = {
|
||||||
__atom_icon = None
|
'value' :'python-feedgen',
|
||||||
__atom_logo = None
|
'url' :'http://lkiesow.github.io/python-feedgen',
|
||||||
__atom_rights = None
|
'version':feedgen.version.version } #{value*,uri,version}
|
||||||
__atom_subtitle = None
|
self.__atom_icon = None
|
||||||
|
self.__atom_logo = None
|
||||||
|
self.__atom_rights = None
|
||||||
|
self.__atom_subtitle = None
|
||||||
|
|
||||||
# other
|
# other
|
||||||
__atom_feed_xml_lang = None
|
self.__atom_feed_xml_lang = None
|
||||||
|
|
||||||
## RSS
|
## RSS
|
||||||
# http://www.rssboard.org/rss-specification
|
# http://www.rssboard.org/rss-specification
|
||||||
__rss_title = None
|
self.__rss_title = None
|
||||||
__rss_link = None
|
self.__rss_link = None
|
||||||
__rss_description = None
|
self.__rss_description = None
|
||||||
|
|
||||||
__rss_category = None
|
self.__rss_category = None
|
||||||
__rss_cloud = None
|
self.__rss_cloud = None
|
||||||
__rss_copyright = None
|
self.__rss_copyright = None
|
||||||
__rss_docs = 'http://www.rssboard.org/rss-specification'
|
self.__rss_docs = 'http://www.rssboard.org/rss-specification'
|
||||||
__rss_generator = 'Lernfunk3 FeedGenerator'
|
self.__rss_generator = 'python-feedgen'
|
||||||
__rss_image = None
|
self.__rss_image = None
|
||||||
__rss_language = None
|
self.__rss_language = None
|
||||||
__rss_lastBuildDate = datetime.now(dateutil.tz.tzutc())
|
self.__rss_lastBuildDate = datetime.now(dateutil.tz.tzutc())
|
||||||
__rss_managingEditor = None
|
self.__rss_managingEditor = None
|
||||||
__rss_pubDate = None
|
self.__rss_pubDate = None
|
||||||
__rss_rating = None
|
self.__rss_rating = None
|
||||||
__rss_skipHours = None
|
self.__rss_skipHours = None
|
||||||
__rss_skipDays = None
|
self.__rss_skipDays = None
|
||||||
__rss_textInput = None
|
self.__rss_textInput = None
|
||||||
__rss_ttl = None
|
self.__rss_ttl = None
|
||||||
__rss_webMaster = None
|
self.__rss_webMaster = None
|
||||||
|
|
||||||
# Extension list:
|
# Extension list:
|
||||||
__extensions = {}
|
__extensions = {}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def _create_atom(self, extensions=True):
|
def _create_atom(self, extensions=True):
|
||||||
'''Create a ATOM feed xml structure containing all previously set fields.
|
'''Create a ATOM feed xml structure containing all previously set fields.
|
||||||
|
|
||||||
|
|
17
feedgen/version.py
Normal file
17
feedgen/version.py
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
'''
|
||||||
|
feedgen.version
|
||||||
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
:copyright: 2013, Lars Kiesow <lkiesow@uos.de>
|
||||||
|
|
||||||
|
:license: FreeBSD and LGPL, see license.* for more details.
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
'Version of python-feedgen represented as tuple'
|
||||||
|
version_elements = (0, 2, 3)
|
||||||
|
|
||||||
|
|
||||||
|
'Version of python-feedgen represented as string'
|
||||||
|
version = '.'.join([str(x) for x in version_elements])
|
Loading…
Reference in a new issue