From 5e5b5356072584b46a46250579e532fff5ffc1d5 Mon Sep 17 00:00:00 2001 From: Andre D Date: Mon, 3 Jun 2013 12:34:15 -0700 Subject: [PATCH] traffic: Do not crash if no data is available. --- r2/r2/models/traffic.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/r2/r2/models/traffic.py b/r2/r2/models/traffic.py index dd5ae3f80..e1738347a 100644 --- a/r2/r2/models/traffic.py +++ b/r2/r2/models/traffic.py @@ -37,6 +37,7 @@ import datetime from pylons import g from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import scoped_session, sessionmaker +from sqlalchemy.orm.exc import NoResultFound from sqlalchemy.schema import Column from sqlalchemy.sql.expression import desc, distinct from sqlalchemy.sql.functions import sum as sa_sum @@ -358,10 +359,13 @@ def campaign_history(cls, codenames, start, stop): @memoize("traffic_last_modified", time=60 * 10) def get_traffic_last_modified(): """Guess how far behind the traffic processing system is.""" - return (Session.query(SitewidePageviews.date) + try: + return (Session.query(SitewidePageviews.date) .order_by(desc(SitewidePageviews.date)) .limit(1) .one()).date + except NoResultFound: + return datetime.datetime.min class SitewidePageviews(Base):