Mercurial > daily-edition
changeset 22:f2fafca30ff3
added issue tracking information, though it's not yet being used in any way.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Sun, 03 Jan 2010 04:58:47 -0800 |
parents | 6a6632954dc6 |
children | 8b501dfe7d85 |
files | publish_edition.py |
diffstat | 1 files changed, 17 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/publish_edition.py Sun Jan 03 04:41:44 2010 -0800 +++ b/publish_edition.py Sun Jan 03 04:58:47 2010 -0800 @@ -13,6 +13,7 @@ URLS_FILENAME = 'url_cache.dat' WHOISI_FILENAME = 'whoisi_cache.dat' ARTICLES_FILENAME = 'articles.dat' +ISSUES_FILENAME = 'issues.dat' JSON_FILENAME = 'daily-edition.json' def load(filename, default): @@ -68,7 +69,7 @@ 'content': content} articles[author].append(article) -def filter_articles(names, articles): +def filter_articles(names, articles, issues): max_date = date.today() min_date = max_date - timedelta(days=3) @@ -88,6 +89,8 @@ article['pub_date'] < max_date) ] + return filtered_articles + def publish_edition(update_whoisi=False, update_urls=False, update_articles=False): @@ -139,13 +142,24 @@ urls=urls) save(articles, ARTICLES_FILENAME) + issues = load(ISSUES_FILENAME, {'urls': {}, + 'pub_dates': []}) + filtered_articles = filter_articles(names=names, - articles=articles) + articles=articles, + issues=issues) + + issue_id = len(issues['pub_dates']) + issues['pub_dates'].append(datetime.now()) + for author in filtered_articles: + for article in filtered_articles[author]: + issues['urls'][article['url']] = issue_id + save(issues, ISSUES_FILENAME) json.dump({'authors': names, 'articles': filtered_articles}, open(JSON_FILENAME, 'w')) - logging.info('wrote %s.' % JSON_FILENAME) + logging.info('wrote %s (issue #%d).' % (JSON_FILENAME, issue_id)) parser_options = { ('-w', '--update-whoisi',):