diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 9001bebc..f0c66dd9 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -2478,7 +2478,7 @@ def getsmallrowdata_db(columns, ids=[], doclean=True,workstrokesonly=True,comput #df = dd.read_parquet(f,columns=columns,engine='pyarrow') df = pd.read_parquet(f,columns=columns) data.append(df) - except (OSError,ArrowInvalid): # pragma: no cover + except (OSError,ArrowInvalid,IndexError): # pragma: no cover rowdata, row = getrowdata(id=id) if rowdata and len(rowdata.df): datadf = dataprep(rowdata.df,id=id,bands=True,otwpower=True,barchart=True) diff --git a/rowers/models.py b/rowers/models.py index fff029cc..55abd552 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -2507,10 +2507,12 @@ class PlannedSession(models.Model): steps = steps_read_fit(os.path.join(settings.MEDIA_ROOT,self.fitfile.name)) self.steps = steps + if self.steps and not self.fitfile: filename = 'aap.fit' filename = get_file_path(self,filename) + steps = self.steps steps['filename'] = os.path.join(settings.MEDIA_ROOT,filename) fitfile = steps_write_fit(steps) diff --git a/rowers/rows.py b/rowers/rows.py index 8f1c3643..f2d830ec 100644 --- a/rowers/rows.py +++ b/rowers/rows.py @@ -140,8 +140,10 @@ def handle_uploaded_image(i): # pragma: no cover def handle_uploaded_file(f): fname = f.name - timestr = uuid.uuid4().hex[:10]+'-'+time.strftime("%Y%m%d-%H%M%S") - fname = timestr+'-'+fname + ext = fname.split('.')[-1] + fname = '%s.%s' % (uuid.uuid4(),ext) + #timestr = uuid.uuid4().hex[:10]+'-'+time.strftime("%Y%m%d-%H%M%S") + #fname = timestr+'-'+fname fname2 = 'media/'+fname with open(fname2,'wb+') as destination: for chunk in f.chunks(): diff --git a/rowers/views/importviews.py b/rowers/views/importviews.py index c62f4b54..74209337 100644 --- a/rowers/views/importviews.py +++ b/rowers/views/importviews.py @@ -1158,6 +1158,9 @@ def strava_webhook_view(request): f.write(' ') f.write('Rower not found') return HttpResponse(status=200) + except MultipleObjectsReturned: + rs = Rower.objects.filter(strava_owner_id=strava_owner) + r = rs[0] if r.strava_auto_import: for key, value in updates.items(): for w in ws: diff --git a/rowers/views/statements.py b/rowers/views/statements.py index fec0ddb4..367e5b6f 100644 --- a/rowers/views/statements.py +++ b/rowers/views/statements.py @@ -83,7 +83,7 @@ from rowers.forms import ( from django.urls import reverse, reverse_lazy -from django.core.exceptions import PermissionDenied +from django.core.exceptions import PermissionDenied, MultipleObjectsReturned from django.template import RequestContext from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.conf import settings