repair stroke data
This commit is contained in:
@@ -13,6 +13,7 @@ import itertools
|
||||
from django.conf import settings
|
||||
from sqlalchemy import create_engine
|
||||
import sqlalchemy as sa
|
||||
import sys
|
||||
|
||||
user = settings.DATABASES['default']['USER']
|
||||
password = settings.DATABASES['default']['PASSWORD']
|
||||
@@ -79,6 +80,40 @@ def timedeltaconv(x):
|
||||
|
||||
return dt
|
||||
|
||||
def compare_data(id):
|
||||
row = Workout.objects.get(id=id)
|
||||
f1 = row.csvfilename
|
||||
rowdata = rdata(f1)
|
||||
try:
|
||||
l1 = len(rowdata.df)
|
||||
except AttributeError:
|
||||
l1 = 0
|
||||
|
||||
engine = create_engine(database_url, echo=False)
|
||||
query = sa.text('SELECT COUNT(*) FROM strokedata WHERE workoutid={id};'.format(
|
||||
id=id,
|
||||
))
|
||||
with engine.connect() as conn, conn.begin():
|
||||
try:
|
||||
res = conn.execute(query)
|
||||
l2 = res.fetchall()[0][0]
|
||||
except:
|
||||
print "Database Locked"
|
||||
conn.close()
|
||||
engine.dispose()
|
||||
return l1==l2
|
||||
|
||||
def repair_data(verbose=False):
|
||||
ws = Workout.objects.all()
|
||||
for w in ws:
|
||||
if verbose:
|
||||
sys.stdout.write(".")
|
||||
if not compare_data(w.id):
|
||||
if verbose:
|
||||
print w.id
|
||||
rowdata = rdata(w.csvfilename)
|
||||
update_strokedata(w.id,rowdata.df)
|
||||
|
||||
def rdata(file,rower=rrower()):
|
||||
try:
|
||||
res = rrdata(file,rower=rower)
|
||||
|
||||
Reference in New Issue
Block a user