/kai/lib/serialization.py

https://bitbucket.org/bbangert/kai/ · Python · 26 lines · 24 code · 2 blank · 0 comment · 7 complexity · 3dc1ba83f84813d98875e2b415f0031c MD5 · raw file

  1. import datetime
  2. from couchdb.schema import Document
  3. from webhelpers.feedgenerator import Atom1Feed
  4. def render_feed(title, link, description, objects, pub_date=None):
  5. feed = Atom1Feed(title=title, link=link, description=description)
  6. for obj in objects:
  7. if isinstance(obj, dict):
  8. title = obj.get('title', 'No title')
  9. link = obj.get('link', '')
  10. description = obj.get('description', '')
  11. if pub_date:
  12. date = obj.get(pub_date)
  13. else:
  14. date = obj.get('feed_pub_date', '')
  15. else:
  16. title = obj.feed_title
  17. link = obj.feed_link
  18. description = obj.feed_description
  19. if pub_date:
  20. date = getattr(obj, pub_date)
  21. else:
  22. date = obj.feed_pub_date
  23. feed.add_item(title=title, link=link, pubdate=date, description=description)
  24. return feed.writeString('utf-8')