Private
Public Access
1
0

some tweaks to make middleware working

This commit is contained in:
Sander Roosendaal
2018-01-17 18:39:02 +01:00
parent 30a325d0f5
commit 5917e3c5b8

View File

@@ -1,6 +1,10 @@
from django.utils import timezone
from rowers.models import Workout, PowerTimeFitnessMetric, Rower
import datetime
from utils import myqueue
import django_rq
queue = django_rq.get_queue('default')
from rowers.tasks import handle_updatefitnessmetric
def getrower(user):
try:
@@ -23,10 +27,11 @@ def do_update(user,mode='rower',days=42):
workoutmode=mode)
if len(ms) == 0:
return 0
max_workout_id = max([m.last_workout for m in ms])
last_update_date = max([m.date.strftime('%Y-%m-%d') for m in ms])
max_workout_id = 0
last_update_date = '1972-01-01'
else:
max_workout_id = max([m.last_workout for m in ms])
last_update_date = max([m.date.strftime('%Y-%m-%d') for m in ms])
if mode == 'rower':
workouts = Workout.objects.filter(
@@ -40,14 +45,18 @@ def do_update(user,mode='rower',days=42):
startdatetime__gte=startdate)
theids = [int(w.id) for w in workouts]
max_id = max(theids)
try:
max_id = max(theids)
except ValueError:
max_id = 0
if last_update_date < now_date and max_workout_id < max_id:
job = myqueue(queue,
handle_updatefitnessmetric,
request.user.id,mode,theids,
user.id,mode,theids,
)
return 1
class PowerTimeFitnessMetricMiddleWare(object):