Private
Public Access
1
0

last pep in rowers dir

This commit is contained in:
Sander Roosendaal
2022-03-14 19:59:48 +01:00
parent a0223bec24
commit ded96b4ccd
3 changed files with 28 additions and 63 deletions

View File

@@ -3,7 +3,7 @@ from rowers.metrics import rowingmetrics
from django.db.models.signals import m2m_changed
from rowers.courseutils import coordinate_in_path
from rowers.utils import (
workflowleftpanel, workflowmiddlepanel,
# workflowleftpanel, workflowmiddlepanel,
defaultleft, defaultmiddle, landingpages, landingpages2,
steps_read_fit, steps_write_fit, ps_dict_order
)
@@ -15,18 +15,15 @@ import uuid
from django.db import models, IntegrityError
from django.contrib.auth.models import User
from django.core.validators import validate_email
from django.core.exceptions import ValidationError
from django import forms
from django.forms import ModelForm
from django.dispatch import receiver
from django.forms.widgets import SplitDateTimeWidget, SelectDateWidget
#from django.forms.extras.widgets import SelectDateWidget
from django.forms.formsets import BaseFormSet
#from datetimewidget.widgets import DateTimeWidget
from django.contrib.admin.widgets import AdminDateWidget, AdminTimeWidget, AdminSplitDateTime
from django.core.validators import validate_email
import os
import json
import twitter
@@ -55,8 +52,6 @@ import datetime
from taggit.managers import TaggableManager
#from rules.contrib.models import RulesModel
from rowers.rower_rules import *
from rowers.opaque import encoder
@@ -322,7 +317,6 @@ def update_records(url=c2url, verbose=True):
dfs = pd.read_html(url, attrs={'class': 'views-table'})
df = dfs[0]
df.columns = df.columns.str.strip()
success = 1
except: # pragma: no cover
df = pd.DataFrame()
@@ -574,29 +568,16 @@ def course_spline(coordinates):
latitudes = coordinates['latitude'].values
longitudes = coordinates['longitude'].values
# spline parameters
s = 1.0
k = min([5, len(latitudes)-1])
nest = -1
t = np.linspace(0, 1, len(latitudes))
tnew = np.linspace(0, 1, 100)
try:
#latnew = CubicSpline(t,latitudes,bc_type='not-a-knot')(tnew)
#lonnew = CubicSpline(t,longitudes,bc_type='not-a-knot')(tnew)
latnew = interp1d(t, latitudes)(tnew)
lonnew = interp1d(t, longitudes)(tnew)
except ValueError: # pragma: no cover
latnew = latitudes
lonnew = longitudes
# latnew = CubicSpline(t,latitudes,bc_type='natural')(tnew)
# lonnew = CubicSpline(t,longitudes,bc_type='natural')(tnew)
# tckp,u = splprep([t,latitudes,longitudes],s=s,k=k,nest=nest)
# tnew,latnew,lonnew = splev(np.linspace(0,1,100),tckp)
newcoordinates = pd.DataFrame({
'latitude': latnew,
'longitude': lonnew,
@@ -673,7 +654,8 @@ def get_delta(vector, polygon):
p = polygon_to_path(polygon)
def f(x): return coordinate_in_path(x['lat'], x['lon'], p)
def f(x):
return coordinate_in_path(x['lat'], x['lon'], p)
df = pd.DataFrame({'x': x,
'lat': lat,
@@ -795,7 +777,7 @@ class PaidPlan(models.Model):
shortname=self.shortname,
price=self.price,
paymenttype=self.paymenttype,
paymentprocessor=self.paymentprocessor,
# paymentprocessor=self.paymentprocessor,
)
@@ -1346,8 +1328,9 @@ class BaseFavoriteFormSet(BaseFormSet):
xparam = form.cleaned_data['xparam']
yparam1 = form.cleaned_data['yparam1']
yparam2 = form.cleaned_data['yparam2']
plottype = form.cleaned_data['plottype']
reststrokes = form.cleaned_data['reststrokes']
# plottype = form.cleaned_data['plottype']
# reststrokes = form.cleaned_data['reststrokes']
pass
if not xparam:
raise forms.ValidationError(
@@ -1402,10 +1385,11 @@ class BaseConditionFormSet(BaseFormSet):
for form in self.forms:
if form.cleaned_data:
metric = form.cleaned_data['metric']
condition = form.cleaned_data['condition']
value1 = form.cleaned_data['value1']
value2 = form.cleaned_data['value2']
# metric = form.cleaned_data['metric']
# condition = form.cleaned_data['condition']
# value1 = form.cleaned_data['value1']
# value2 = form.cleaned_data['value2']
pass
rowchoices = []
@@ -1475,7 +1459,7 @@ class Alert(models.Model):
return description
def shortdescription(self): # pragma: no cover
metricdict = {key: value for (key, value) in parchoicesy1}
# metricdict = {key: value for (key, value) in parchoicesy1}
if self.measured.condition == 'between':
description = '{value1} < {metric} < {value2}'.format(
@@ -1526,7 +1510,7 @@ class GeoCourse(models.Model):
def __str__(self):
name = self.name
country = self.country
# country = self.country
d = self.distance
if d == 0: # pragma: no cover
self.distance = course_length(self)
@@ -1535,7 +1519,7 @@ class GeoCourse(models.Model):
return u'{name} - {d}m'.format(
name=name,
country=country,
# country=country,
d=d,
)
@@ -2530,7 +2514,6 @@ class PlannedSession(models.Model):
can_be_shared = models.BooleanField(default=True)
fitfile = models.FileField(upload_to=get_file_path, blank=True, null=True)
#steps_json = models.TextField(max_length=10000,default=None,blank=True,null=True)
steps = PlannedSessionStepField(default={}, null=True, max_length=1000)
interval_string = models.TextField(max_length=1000, default=None, blank=True, null=True,
verbose_name='Interval String (optional)')
@@ -2565,7 +2548,7 @@ class PlannedSession(models.Model):
if self.sessionvalue <= 0: # pragma: no cover
self.sessionvalue = 1
manager = self.manager
# manager = self.manager
if self.sessiontype not in ['race', 'indoorrace']:
if not can_add_session(self.manager):
raise ValidationError(
@@ -2612,7 +2595,7 @@ class PlannedSession(models.Model):
self.sessionmode = 'distance'
self.sessionunit = 'm'
self.criterium = 'none'
if self.course == None: # pragma: no cover
if self.course is None: # pragma: no cover
self.course = GeoCourse.objects.all()[0]
self.sessionvalue = self.course.distance
elif self.sessiontype != 'coursetest' and self.sessiontype != 'race':
@@ -2626,7 +2609,6 @@ class PlannedSession(models.Model):
if self.preferreddate < self.startdate: # pragma: no cover
self.preferreddate = self.startdate
#super(PlannedSession,self).save(*args, **kwargs)
if self.steps:
steps = self.steps
elif self.fitfile: # pragma: no cover
@@ -2640,7 +2622,7 @@ class PlannedSession(models.Model):
steps = self.steps
steps['filename'] = os.path.join(settings.MEDIA_ROOT, filename)
fitfile = steps_write_fit(steps)
_ = steps_write_fit(steps)
self.fitfile.name = filename
self.steps = steps
@@ -2752,8 +2734,8 @@ class VirtualRace(PlannedSession):
def __str__(self):
name = self.name
startdate = self.startdate
enddate = self.enddate
# startdate = self.startdate
# enddate = self.enddate
stri = u'Virtual challenge {n}'.format(
n=name,
@@ -4031,9 +4013,6 @@ class WorkoutForm(ModelForm):
class AdvancedWorkoutForm(ModelForm):
#quick_calc = forms.BooleanField(initial=True,required=False)
#go_service = forms.BooleanField(initial=False,required=False,label='Experimental')
class Meta:
model = Workout
fields = ['boattype', 'weightvalue', 'boatbrand']
@@ -4332,8 +4311,8 @@ class RowerPowerZonesForm(ModelForm):
try:
ut3name = cleaned_data['ut3name']
except:
ut2name = 'UT3'
cleaned_data['ut3name'] = 'UT3'
ut3name = 'UT3'
cleaned_data['ut3name'] = ut3name
try:
ut2name = cleaned_data['ut2name']
except:
@@ -4717,10 +4696,10 @@ class SiteAnnouncement(models.Model):
self.modified = timezone.now()
if self.dotweet: # pragma: no cover
try:
status = tweetapi.PostUpdate(self.announcement)
_ = tweetapi.PostUpdate(self.announcement)
except:
try:
status = tweetapi.PostUpdate(self.announcement[:270])
_ = tweetapi.PostUpdate(self.announcement[:270])
except:
pass
return super(SiteAnnouncement, self).save(*args, **kwargs)