diff --git a/celeryconfig.py b/celeryconfig.py index 043dc22..849dd0d 100644 --- a/celeryconfig.py +++ b/celeryconfig.py @@ -8,7 +8,7 @@ CELERY_ACCEPT_CONTENT = ['json'] CELERYBEAT_SCHEDULE = { 'tick-every-5-minutes': { 'task': 'woodwind.tasks.tick', - 'schedule': datetime.timedelta(seconds=30), + 'schedule': datetime.timedelta(minutes=5), } } # recommended to disable if not using -- introduces a lot of complexity diff --git a/woodwind/static/style.scss b/woodwind/static/style.scss index 734ea8a..dc1f90c 100644 --- a/woodwind/static/style.scss +++ b/woodwind/static/style.scss @@ -44,6 +44,13 @@ article { float: left; border-radius: 4px; } + color: $armadillo; + border-bottom: 1px solid $armadillo; + } + + h1 { + font-size: 1.2em; + font-weight: bold; } } diff --git a/woodwind/tasks.py b/woodwind/tasks.py index 9876326..289736e 100644 --- a/woodwind/tasks.py +++ b/woodwind/tasks.py @@ -60,7 +60,7 @@ def process_feed_for_new_entries(feed): def process_xml_feed_for_new_entries(feed): - logger.debug('updating feed: %s', feed) + logger.debug('fetching xml feed: %s', feed) now = datetime.datetime.utcnow() parsed = feedparser.parse(feed.feed) @@ -71,11 +71,16 @@ def process_xml_feed_for_new_entries(feed): default_author_photo = feed_props.get('logo') all_uids = [e.id or e.link for e in parsed.entries] - preexisting = set(row[0] for row in session.query(Entry.uid) - .filter(Entry.uid.in_(all_uids)) - .filter(Entry.feed == feed)) + if all_uids: + preexisting = set(row[0] for row in session.query(Entry.uid) + .filter(Entry.uid.in_(all_uids)) + .filter(Entry.feed == feed)) + else: + preexisting = set() + logger.debug('found {} entries'.format(len(parsed.entries))) for p_entry in parsed.entries: + logger.debug('processing entry {}'.format(p_entry)) permalink = p_entry.link uid = p_entry.id or permalink @@ -84,10 +89,10 @@ def process_xml_feed_for_new_entries(feed): updated = datetime.datetime.fromtimestamp( time.mktime(p_entry.updated_parsed) - ) if p_entry.updated_parsed else None + ) if 'updated_parsed' in p_entry else None published = datetime.datetime.fromtimestamp( time.mktime(p_entry.published_parsed) - ) if p_entry.published_parsed else None + ) if 'published_parsed' in p_entry else now title = p_entry.get('title') @@ -125,7 +130,7 @@ def process_xml_feed_for_new_entries(feed): def process_html_feed_for_new_entries(feed): - logger.debug('updating feed: %s', feed) + logger.debug('fetching html feed: %s', feed) now = datetime.datetime.utcnow() parsed = mf2util.interpret_feed( @@ -133,9 +138,12 @@ def process_html_feed_for_new_entries(feed): hfeed = parsed.get('entries', []) all_uids = [e.get('uid') or e.get('url') for e in hfeed] - preexisting = set(row[0] for row in session.query(Entry.uid) - .filter(Entry.uid.in_(all_uids)) - .filter(Entry.feed == feed)) + if all_uids: + preexisting = set(row[0] for row in session.query(Entry.uid) + .filter(Entry.uid.in_(all_uids)) + .filter(Entry.feed == feed)) + else: + preexisting = set() # logger.debug('preexisting urls: %r', preexisting) @@ -151,7 +159,7 @@ def process_html_feed_for_new_entries(feed): # uid = hentry.get('uid') or uid entry = Entry( feed=feed, - published=hentry.get('published'), + published=hentry.get('published') or now, updated=hentry.get('updated'), uid=uid, permalink=permalink, diff --git a/woodwind/templates/base.jinja2 b/woodwind/templates/base.jinja2 index 9c563b4..3d19d6d 100644 --- a/woodwind/templates/base.jinja2 +++ b/woodwind/templates/base.jinja2 @@ -7,12 +7,19 @@ {% block head %}{% endblock %}
- {% if current_user.is_authenticated() %} -