From ba1b0cea8a16a664d66a5870ed326d37a69f7e0b Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 25 Sep 2017 21:34:34 +0200 Subject: [PATCH 1/6] support for OTW BoatCoach --- rowers/dataprep.py | 6 +++++- rowers/dataprepnodjango.py | 4 ++++ rowers/types.py | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 9ebc2adb..4cab2758 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -22,7 +22,7 @@ from rowingdata import ( TCXParser,RowProParser,ErgDataParser,TCXParserNoHR, CoxMateParser, BoatCoachParser,RowPerfectParser,BoatCoachAdvancedParser, - MysteryParser, + MysteryParser,BoatCoachOTWParser, painsledDesktopParser,speedcoachParser,ErgStickParser, SpeedCoach2Parser,FITParser,fitsummarydata, make_cumvalues, @@ -742,6 +742,10 @@ def handle_nonpainsled(f2,fileformat,summary=''): if (fileformat == 'boatcoach'): row = BoatCoachParser(f2) + # handle BoatCoach OTW + if (fileformat == 'boatcoachotw'): + row = BoatCoachOTWParser(f2) + # handle painsled desktop if (fileformat == 'painsleddesktop'): row = painsledDesktopParser(f2) diff --git a/rowers/dataprepnodjango.py b/rowers/dataprepnodjango.py index 0a1c8b28..1d817980 100644 --- a/rowers/dataprepnodjango.py +++ b/rowers/dataprepnodjango.py @@ -325,6 +325,10 @@ def handle_nonpainsled(f2,fileformat,summary=''): if (fileformat == 'bcmike'): row = BoatCoachAdvancedParser(f2) + # handle BoatCoach OTW + if (fileformat == 'boatcoachotw'): + row = BoatCoachOTWParser(f2) + # handle BoatCoach if (fileformat == 'boatcoach'): row = BoatCoachParser(f2) diff --git a/rowers/types.py b/rowers/types.py index 0dc8244e..6298014f 100644 --- a/rowers/types.py +++ b/rowers/types.py @@ -24,6 +24,7 @@ workoutsources = ( ('rowperfect3','rowperfect3'), ('ergdata','ergdata'), ('boatcoach','boatcoach'), + ('boatcoachotw','boatcoachotw'), ('bcmike','boatcoach (develop)'), ('painsleddesktop','painsleddesktop'), ('speedcoach','speedcoach'), From 91022f4195cd4a256be3975096c09db8ae3cc078 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 25 Sep 2017 21:59:12 +0200 Subject: [PATCH 2/6] leaflet interactive map nan --- rowers/interactiveplots.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index aacb2ab2..7e828b40 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -700,6 +700,8 @@ def leaflet_chart(lat,lon,name=""): df = df.replace(0,np.nan) df = df.loc[(df!=0).any(axis=1)] + df.fillna(method='bfill',axis=0,inplace=True) + df.fillna(method='ffill',axis=0,inplace=True) lat = df['lat'] lon = df['lon'] if lat.empty or lon.empty: From 1fa4f28a0ac5548f47dbf2fc5f9bd3c6d8785b90 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 25 Sep 2017 22:14:48 +0200 Subject: [PATCH 3/6] timezone settings --- rowsandall_app/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rowsandall_app/settings.py b/rowsandall_app/settings.py index 8148d40c..3020084e 100644 --- a/rowsandall_app/settings.py +++ b/rowsandall_app/settings.py @@ -176,13 +176,13 @@ AUTH_PASSWORD_VALIDATORS = [ # Internationalization # https://docs.djangoproject.com/en/1.9/topics/i18n/ -TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True +TIME_ZONE = 'UTC' TZ_DETECT_COUNTRIES = ('US','DE','GB','CZ','FR','IT') From 8f3d6f21bbdbef9d5b4697452fb38a25d35ec2fb Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 25 Sep 2017 22:31:29 +0200 Subject: [PATCH 4/6] changed back arrow to mktime in dataprep --- rowers/dataprep.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 4cab2758..ede5ec73 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -1017,8 +1017,8 @@ def new_workout_from_df(r,df, df.rename(columns = columndict,inplace=True) - #starttimeunix = mktime(startdatetime.utctimetuple()) - starttimeunix = arrow.get(startdatetime).timestamp + starttimeunix = mktime(startdatetime.utctimetuple()) + #starttimeunix = arrow.get(startdatetime).timestamp df[' ElapsedTime (sec)'] = df['TimeStamp (sec)'] df['TimeStamp (sec)'] = df['TimeStamp (sec)']+starttimeunix From 79a81a955ef18dd810f226c64d05ce34d7e8659c Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Tue, 26 Sep 2017 15:42:22 +0200 Subject: [PATCH 5/6] changed accessibility of app creation form --- rowers/templates/developers.html | 6 ++++-- rowers/urls.py | 6 +++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/rowers/templates/developers.html b/rowers/templates/developers.html index 117a4547..32c6ee98 100644 --- a/rowers/templates/developers.html +++ b/rowers/templates/developers.html @@ -115,8 +115,10 @@
Registering an app
-

As a registered user, you can register an app.

- + +

We have disabled the self service app link for security reasons. + We will replace it with a secure self service app link soon. If you + need to register an app, please send email to info@rowsandall.com

Authentication
diff --git a/rowers/urls.py b/rowers/urls.py index 3f1ed3c6..6a288d2f 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -102,10 +102,14 @@ handler404 = 'views.error404_view' handler400 = 'views.error400_view' handler403 = 'views.error403_view' +from oauth2_provider.views import base + urlpatterns = [ # url(r'^password_change/$',auth_views.password_change), # url(r'^password_change_done/$',auth_views.password_change_done), - url(r'^o/', include('oauth2_provider.urls', namespace='oauth2_provider')), +# url(r'^o/', include('oauth2_provider.urls', namespace='oauth2_provider')), + url(r'^o/authorize/$', base.AuthorizationView.as_view(), name="authorize"), + url(r'^o/token/$', base.TokenView.as_view(), name="token"), url(r'^', include(router.urls)), url(r'^api-docs$', views.schema_view), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')), From 4924c6bda801fa771ebced78815f1acd56cfd727 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Tue, 26 Sep 2017 15:46:59 +0200 Subject: [PATCH 6/6] back to using arrow for unixtime in dataprep --- rowers/dataprep.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rowers/dataprep.py b/rowers/dataprep.py index ede5ec73..4cab2758 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -1017,8 +1017,8 @@ def new_workout_from_df(r,df, df.rename(columns = columndict,inplace=True) - starttimeunix = mktime(startdatetime.utctimetuple()) - #starttimeunix = arrow.get(startdatetime).timestamp + #starttimeunix = mktime(startdatetime.utctimetuple()) + starttimeunix = arrow.get(startdatetime).timestamp df[' ElapsedTime (sec)'] = df['TimeStamp (sec)'] df['TimeStamp (sec)'] = df['TimeStamp (sec)']+starttimeunix