Fix broken tests

This commit is contained in:
Joseph Schorr 2015-07-29 14:21:29 -04:00
parent 6625add94b
commit 572d6ba53c
2 changed files with 32 additions and 29 deletions

View file

@ -6,7 +6,7 @@ import re
from flask.ext.mail import Message from flask.ext.mail import Message
from app import mail, app from app import mail, app
from data import model from data import model
from workers.worker import JobException from workers.queueworker import JobException
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View file

@ -10,6 +10,36 @@ POLL_PERIOD_SECONDS = 10
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def count_repository_actions():
with UseThenDisconnect(app.config):
try:
# Get a random repository to count.
today = date.today()
yesterday = today - timedelta(days=1)
has_yesterday_actions = (RepositoryActionCount.select(RepositoryActionCount.repository)
.where(RepositoryActionCount.date == yesterday))
to_count = (Repository.select()
.where(~(Repository.id << (has_yesterday_actions)))
.order_by(db_random_func()).get())
logger.debug('Counting: %s', to_count.id)
actions = (LogEntry.select()
.where(LogEntry.repository == to_count,
LogEntry.datetime >= yesterday,
LogEntry.datetime < today)
.count())
# Create the row.
try:
RepositoryActionCount.create(repository=to_count, date=yesterday, count=actions)
except:
logger.exception('Exception when writing count')
except Repository.DoesNotExist:
logger.debug('No further repositories to count')
class RepositoryActionCountWorker(Worker): class RepositoryActionCountWorker(Worker):
def __init__(self): def __init__(self):
super(RepositoryActionCountWorker, self).__init__() super(RepositoryActionCountWorker, self).__init__()
@ -17,34 +47,7 @@ class RepositoryActionCountWorker(Worker):
def _count_repository_actions(self): def _count_repository_actions(self):
""" Counts actions for a random repository for the previous day. """ """ Counts actions for a random repository for the previous day. """
count_repository_actions()
with UseThenDisconnect(app.config):
try:
# Get a random repository to count.
today = date.today()
yesterday = today - timedelta(days=1)
has_yesterday_actions = (RepositoryActionCount.select(RepositoryActionCount.repository)
.where(RepositoryActionCount.date == yesterday))
to_count = (Repository.select()
.where(~(Repository.id << (has_yesterday_actions)))
.order_by(db_random_func()).get())
logger.debug('Counting: %s', to_count.id)
actions = (LogEntry.select()
.where(LogEntry.repository == to_count,
LogEntry.datetime >= yesterday,
LogEntry.datetime < today)
.count())
# Create the row.
try:
RepositoryActionCount.create(repository=to_count, date=yesterday, count=actions)
except:
logger.exception('Exception when writing count')
except Repository.DoesNotExist:
logger.debug('No further repositories to count')
if __name__ == "__main__": if __name__ == "__main__":
worker = RepositoryActionCountWorker() worker = RepositoryActionCountWorker()