Private
Public Access
1
0

Merge branch 'release/v9.76'

This commit is contained in:
Sander Roosendaal
2019-04-13 19:54:47 -04:00
7 changed files with 60 additions and 27 deletions

View File

@@ -8,13 +8,13 @@ atomicwrites==1.3.0
attrs==19.1.0
backcall==0.1.0
beautifulsoup4==4.7.1
billiard==3.5.0.5
billiard==3.6.0.0
bleach==3.1.0
bokeh==1.0.4
boto==2.49.0
braintree==3.51.0
cairocffi==1.0.2
celery==4.2.2
celery==4.3.0
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4
@@ -46,6 +46,7 @@ django-leaflet==0.24.0
django-mailbox==4.7.1
django-oauth-toolkit==1.2.0
django-oauth2-provider==0.2.6.1
django-redis==4.10.0
django-rest-framework==0.1.0
django-rest-swagger==2.2.0
django-rq==1.3.1
@@ -64,8 +65,11 @@ execnet==1.5.0
factory-boy==2.11.1
Faker==1.0.4
fitparse==1.1.0
Flask==1.0.2
future==0.17.1
GDAL==2.3.3
geocoder==1.38.1
geos==0.2.1
holoviews==1.11.3
html5lib==1.0.1
htmlmin==0.1.12
@@ -81,6 +85,7 @@ ipython-genutils==0.2.0
ipywidgets==7.4.2
iso8601==0.1.12
isodate==0.6.0
itsdangerous==1.1.0
itypes==1.1.0
jedi==0.13.3
jeepney==0.4
@@ -94,7 +99,7 @@ jupyterlab==0.35.4
jupyterlab-server==0.3.0
keyring==18.0.0
kiwisolver==1.0.1
kombu==4.3.0
kombu==4.5.0
lxml==4.3.2
Markdown==3.0.1
MarkupSafe==1.1.1
@@ -154,7 +159,7 @@ ratelim==0.1.6
redis==3.2.1
requests==2.21.0
requests-oauthlib==1.2.0
rowingdata==2.2.5
rowingdata==2.2.6
rowingphysics==0.5.0
rq==0.13.0
scipy==1.2.1
@@ -184,7 +189,9 @@ VerbalExpressions==0.0.2
vine==1.3.0
wcwidth==0.1.7
webencodings==0.5.1
Werkzeug==0.15.1
widgetsnbextension==3.4.2
winkerberos==0.7.0
xmltodict==0.12.0
yamjam==0.1.7
yamllint==1.15.0

View File

@@ -30,25 +30,26 @@ cycler==0.10.0
dask==1.1.4
decorator==4.4.0
defusedxml==0.5.0
Django==1.9.5
Django==2.1.7
django-analytical==2.5.0
django-async-messages==0.3.1
django-braces==1.13.0
django-classy-tags==0.8.0
django-cookie-law==2.0.1
django-cors-headers==2.4.0
django-cors-headers==2.5.2
django-countries==5.3.3
django-datetime-widget==0.9.3
django-debug-toolbar==1.4
django-debug-toolbar==1.11
django-extensions==2.1.6
django-htmlmin==0.10.0
django-htmlmin==0.11.0
django-leaflet==0.24.0
django-mailbox==4.7.1
django-oauth-toolkit==0.10.0
django-oauth-toolkit==1.2.0
django-oauth2-provider==0.2.6.1
django-redis==4.10.0
django-rest-framework==0.1.0
django-rest-swagger==2.2.0
django-rq==1.3.0
django-rq==1.3.1
django-rq-dashboard==0.3.3
django-ses==0.8.10
django-shell-plus==1.1.7
@@ -56,7 +57,7 @@ django-social-share==1.3.2
django-suit==0.2.26
django-suit-rq==1.0.1
django-tz-detect==0.2.9
djangorestframework==3.5.4
djangorestframework==3.9.2
docopt==0.6.2
docutils==0.14
entrypoints==0.3
@@ -64,9 +65,11 @@ execnet==1.5.0
factory-boy==2.11.1
Faker==1.0.4
fitparse==1.1.0
Flask==1.0.2
future==0.17.1
GDAL==2.3.3
geocoder==1.38.1
geos==0.2.1
holoviews==1.11.3
html5lib==1.0.1
htmlmin==0.1.12
@@ -77,11 +80,12 @@ idna==2.8
image==1.5.27
importlib-resources==1.0.2
ipykernel==5.1.0
ipython==7.3.0
ipython==7.4.0
ipython-genutils==0.2.0
ipywidgets==7.4.2
iso8601==0.1.12
isodate==0.6.0
itsdangerous==1.1.0
itypes==1.1.0
jedi==0.13.3
jeepney==0.4
@@ -92,7 +96,7 @@ jupyter-client==5.2.4
jupyter-console==6.0.0
jupyter-core==4.4.0
jupyterlab==0.35.4
jupyterlab-server==0.2.0
jupyterlab-server==0.3.0
keyring==18.0.0
kiwisolver==1.0.1
kombu==4.3.0
@@ -112,7 +116,7 @@ nose-parameterized==0.6.0
notebook==5.7.6
numpy==1.16.2
oauth2==1.9.0.post1
oauthlib==1.0.3
oauthlib==3.0.1
openapi-codec==1.3.2
packaging==19.0
pandas==0.24.2
@@ -155,7 +159,7 @@ ratelim==0.1.6
redis==3.2.1
requests==2.21.0
requests-oauthlib==1.2.0
rowingdata==2.2.3
rowingdata==2.2.5
rowingphysics==0.5.0
rq==0.13.0
scipy==1.2.1
@@ -185,6 +189,7 @@ VerbalExpressions==0.0.2
vine==1.3.0
wcwidth==0.1.7
webencodings==0.5.1
Werkzeug==0.15.1
widgetsnbextension==3.4.2
winkerberos==0.7.0
xmltodict==0.12.0

View File

@@ -4360,8 +4360,11 @@ def interactive_multiple_compare_chart(ids,xparam,yparam,plottype='line',
try:
tseconds = datadf.loc[:,'time']
except KeyError:
tseconds = datadf.loc[:,xparam]
try:
tseconds = datadf.loc[:,xparam]
except:
return ['','<p>A chart data error occurred</p>','','A chart data error occurred']
yparamname = axlabels[yparam]
#datadf = datadf[datadf[yparam] > 0]

View File

@@ -14,7 +14,8 @@ class TestErrorPages(TestCase):
factory = RequestFactory()
request = factory.get('/')
response = error404_view(request)
e = None
response = error404_view(request,e )
self.assertEqual(response.status_code, 404)
self.assertIn('404 Page not found', str(response.content))
@@ -22,7 +23,7 @@ class TestErrorPages(TestCase):
self.assertEqual(response.status_code, 500)
self.assertIn('500 Internal Server Error', str(response.content))
response = error400_view(request)
response = error400_view(request, e)
self.assertEqual(response.status_code, 400)

Binary file not shown.

View File

@@ -22,14 +22,14 @@ def error500_view(request):
response.status_code = 500
return response
def error404_view(request):
def error404_view(request, exception):
response = render(request,'404.html', {},status=404)
# context_instance = RequestContext(request))
response.status_code = 404
return response
def error400_view(request):
def error400_view(request, exception):
response = render(request,'400.html', {},status=400)
# context_instance = RequestContext(request))

View File

@@ -910,7 +910,8 @@ def virtualevent_compare_view(request,id=0):
workouts = []
for id in workoutids:
try:
workouts.append(Workout.objects.get(id=encoded.decode_hex(id)))
workouts.append(Workout.objects.get(
id=encoder.decode_hex(id)))
except Workout.DoesNotExist:
pass
@@ -1797,7 +1798,10 @@ def workout_downloadwind_view(request,id=0,
windspeed = winddata[0]
windbearing = winddata[1]
message = winddata[2]
row.notes += "\n"+message
try:
row.notes += "\n"+message
except TypeError:
pass
row.save()
rowdata.add_wind(windspeed,windbearing)
rowdata.write_csv(f1,gzip=True)
@@ -1864,7 +1868,11 @@ def workout_downloadmetar_view(request,id=0,
windspeed = winddata[0]
windbearing = winddata[1]
message = winddata[2]
row.notes += "\n"+message
try:
row.notes += "\n"+message
except TypeError:
pass
row.save()
rowdata.add_wind(windspeed,windbearing)
rowdata.write_csv(f1,gzip=True)
@@ -4858,14 +4866,23 @@ def workout_summary_edit_view(request,id,message="",successmessage=""
value_power = request.POST['value_power']
value_work = request.POST['value_work']
if powerorpace == 'power':
power = int(value_power)
try:
power = int(value_power)
except ValueError:
int(normp)
elif powerorpace == 'pace':
try:
pace_secs = float(value_pace)
except ValueError:
pace_secs = float(value_pace.replace(',','.'))
try:
pace_secs = float(value_pace.replace(',','.'))
except ValueError:
pace_secs = int(500./normv)
elif powerorpace == 'work':
work = int(value_work)
try:
work = int(value_work)
except ValueError:
work = int(normw)
if powerorpace == 'power' and power is not None:
try: