Proper initialization

This commit is contained in:
Lars Kiesow 2013-05-16 19:04:03 +02:00
parent dd0d742e6d
commit 66689be7ff
5 changed files with 123 additions and 95 deletions

View file

@ -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):

View file

@ -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

View file

@ -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):

View file

@ -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
View 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])