views.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import feedparser
  2. from django.template import RequestContext
  3. from django.shortcuts import render_to_response
  4. from django.http import HttpResponse
  5. from django.conf import settings
  6. def feed_provider(request):
  7. feed_url = ''
  8. limit = 3
  9. try:
  10. if settings.FEED_PROVIDER_URL:
  11. feed_url = settings.FEED_PROVIDER_URL
  12. if settings.FEED_PROVIDER_MAX_ENTRIES:
  13. limit = settings.FEED_PROVIDER_MAX_ENTRIES
  14. except:
  15. pass
  16. return feed(request, feed_url, limit)
  17. def feed_ffdn(request):
  18. feed_url = ''
  19. limit = 3
  20. try:
  21. if settings.FEED_FFDN_URL:
  22. feed_url = settings.FEED_FFDN_URL
  23. if settings.FEED_FFDN_MAX_ENTRIES:
  24. limit = settings.FEED_FFDN_MAX_ENTRIES
  25. except:
  26. pass
  27. return feed(request, feed_url, limit)
  28. def feed(request, feed_url, limit):
  29. try:
  30. if feed_url:
  31. feed = feedparser.parse(feed_url)
  32. entries = feed.entries[:limit]
  33. return render_to_response('fragments/feed.html',
  34. {'feed_entries': entries},
  35. context_instance=RequestContext(request))
  36. except:
  37. pass
  38. return HttpResponse('')