X-Git-Url: https://projects.mako.cc/source/iron-blogger/blobdiff_plain/ab6966baf120f059c56d1f3185e65988e2adbb0b..8230262ecfa6acf99522c2479297d25e067d7572:/scan-feeds.py diff --git a/scan-feeds.py b/scan-feeds.py index 7e27b8c..0cf58f1 100755 --- a/scan-feeds.py +++ b/scan-feeds.py @@ -15,21 +15,24 @@ try: 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: @@ -48,10 +51,16 @@ def parse_feeds(weeks, uri): 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)