fork download
  1. import feedparser
  2.  
  3. hitList = []
  4. entries = []
  5. feeds = []
  6. sorted_entries = []
  7. feedfile = open('feeds', 'rw') #The file containing all the feeds
  8.  
  9.  
  10. #add feed to the feedfile
  11. def addFeedToFeedListFile(feed):
  12. feedfile.write(feed +"\n")
  13.  
  14. def addFeedsFromFileToHitList():
  15. while 1:
  16. lines = feedfile.readlines(100000)
  17. if not lines:
  18. break
  19. for line in lines:
  20. addFeedToHitList(line)
  21.  
  22.  
  23.  
  24. def addFeedToHitList(feed):
  25. hitList.append(feed)
  26. print 'addFeedToHitList'
  27. def pullDownAllFeeds(feed):
  28. #pull down all feeds
  29. #future_calls = [Future(feedparser.parse, rss_url) for rss_url in hitList]
  30. for rss_url in hitList:
  31. entries.append(feedparser.parse(rss_url))
  32. #print feedparser.parse(rss_url)
  33. #block until they are all in
  34. #feeds = [future_obj() for future_obj in future_calls]
  35. print 'pullDownAllTheFeeds'
  36.  
  37. #extract the entries from the feed object
  38. def extractEntries():
  39. for feed in feeds:
  40. entries.extend( feed["items"] )
  41. print 'extractEntries'
  42.  
  43.  
  44. #sort the entries : Empty method for now
  45.  
  46. def sortEntries():
  47. ##sorted_entries = sorted(entries, key = lambda entry: entry["date_parsed"])
  48. ##sorted_entries = sorted_entries.reverse() #for most recent entries first
  49. print 'sortEntries'
  50.  
  51. #adds all feeds to hit list
  52. addFeedsFromFileToHitList()
  53. pullDownAllFeeds(feeds)
  54. extractEntries()
  55. sortEntries()
  56. if len(entries) == 0:
  57. print "entries is empty"
  58. for k in entries:
  59. print k
  60.  
  61. #print entries[0]
  62.  
Runtime error #stdin #stdout 0.03s 6352KB
stdin
Standard input is empty
stdout
Standard output is empty