66 lines
2.3 KiB
Python
66 lines
2.3 KiB
Python
from django.core.management.base import BaseCommand
|
|
from rowers.models import Workout, TombStone, SyncRecord
|
|
from django.utils import timezone
|
|
from django.db.utils import IntegrityError
|
|
|
|
class Command(BaseCommand):
|
|
def handle(self, *args, **options):
|
|
ws = Workout.objects.all()
|
|
aantal = ws.count()
|
|
counter = 0
|
|
print('----- Workouts ---------')
|
|
for w in ws:
|
|
if w.uploadedtostrava or w.uploadedtotp or w.uploadedtonk or w.uploadedtosporttracks or w.uploadedtoc2:
|
|
record = SyncRecord(
|
|
workout = w,
|
|
)
|
|
if w.uploadedtostrava:
|
|
record.stravaid = w.uploadedtostrava
|
|
if w.uploadedtotp:
|
|
record.tpid = w.uploadedtotp
|
|
if w.uploadedtonk:
|
|
record.nkid = w.uploadedtonk
|
|
if w.uploadedtosporttracks:
|
|
record.sporttracksid = w.uploadedtosporttracks
|
|
if w.uploadedtoc2:
|
|
record.c2id = w.uploadedtoc2
|
|
|
|
try:
|
|
record.save()
|
|
except IntegrityError:
|
|
pass
|
|
|
|
counter += 1
|
|
if counter % 10 == 0:
|
|
print(counter,'/',aantal)
|
|
|
|
print('----- Tombstones -------')
|
|
ts = TombStone.objects.all()
|
|
aantal = ts.count()
|
|
counter = 0
|
|
for w in ts:
|
|
if w.uploadedtostrava or w.uploadedtotp or w.uploadedtonk or w.uploadedtosporttracks or w.uploadedtoc2:
|
|
record = SyncRecord(
|
|
)
|
|
if w.uploadedtostrava:
|
|
record.stravaid = w.uploadedtostrava
|
|
if w.uploadedtotp:
|
|
record.tpid = w.uploadedtotp
|
|
if w.uploadedtonk:
|
|
record.nkid = w.uploadedtonk
|
|
if w.uploadedtosporttracks:
|
|
record.sporttracksid = w.uploadedtosporttracks
|
|
if w.uploadedtoc2:
|
|
record.c2id = w.uploadedtoc2
|
|
|
|
try:
|
|
record.save()
|
|
except IntegrityError:
|
|
pass
|
|
|
|
counter += 1
|
|
if counter % 10 == 0:
|
|
print(counter,'/',aantal)
|
|
|
|
|