except IOError:
log = {}
-START = datetime.datetime(2009, 12, 21, 6)
+START = datetime.datetime(2011, 10, 24, 6)
def parse_published(pub):
return parse(pub).astimezone(tz.tzlocal()).replace(tzinfo=None)
def get_date(post):
- if 'published' in post:
- return post.published
- return post.updated
+ for k in ('published', 'created', 'updated'):
+ if k in post:
+ return post[k]
def get_link(post):
return post.link
def parse_feeds(weeks, uri):
feed = feedparser.parse(uri)
+
+ print >>sys.stderr, "Parsing: %s" % uri
+
if not feed.entries:
print >>sys.stderr, "WARN: no entries for ", uri
for post in feed.entries:
if post['url'] not in [p['url'] for p in weeks[wn]]:
weeks[wn].append(post)
-for (username, u) in users.items():
- weeks = log.setdefault(username, [])
- for l in u['links']:
- parse_feeds(weeks, l[2])
+if len(sys.argv) > 1:
+ for username in sys.argv[1:]:
+ weeks = log.setdefault(username, [])
+ for l in users[username]['links']:
+ parse_feeds(weeks, l[2])
+else:
+ for (username, u) in users.items():
+ weeks = log.setdefault(username, [])
+ for l in u['links']:
+ parse_feeds(weeks, l[2])
with open('out/report.yml', 'w') as f:
yaml.safe_dump(log, f)