Merge branch 'develop' into feature/emailcommands
This commit is contained in:
@@ -22,7 +22,7 @@ from rowingdata import (
|
|||||||
TCXParser,RowProParser,ErgDataParser,TCXParserNoHR,
|
TCXParser,RowProParser,ErgDataParser,TCXParserNoHR,
|
||||||
CoxMateParser,
|
CoxMateParser,
|
||||||
BoatCoachParser,RowPerfectParser,BoatCoachAdvancedParser,
|
BoatCoachParser,RowPerfectParser,BoatCoachAdvancedParser,
|
||||||
MysteryParser,
|
MysteryParser,BoatCoachOTWParser,
|
||||||
painsledDesktopParser,speedcoachParser,ErgStickParser,
|
painsledDesktopParser,speedcoachParser,ErgStickParser,
|
||||||
SpeedCoach2Parser,FITParser,fitsummarydata,
|
SpeedCoach2Parser,FITParser,fitsummarydata,
|
||||||
make_cumvalues,
|
make_cumvalues,
|
||||||
@@ -742,6 +742,10 @@ def handle_nonpainsled(f2,fileformat,summary=''):
|
|||||||
if (fileformat == 'boatcoach'):
|
if (fileformat == 'boatcoach'):
|
||||||
row = BoatCoachParser(f2)
|
row = BoatCoachParser(f2)
|
||||||
|
|
||||||
|
# handle BoatCoach OTW
|
||||||
|
if (fileformat == 'boatcoachotw'):
|
||||||
|
row = BoatCoachOTWParser(f2)
|
||||||
|
|
||||||
# handle painsled desktop
|
# handle painsled desktop
|
||||||
if (fileformat == 'painsleddesktop'):
|
if (fileformat == 'painsleddesktop'):
|
||||||
row = painsledDesktopParser(f2)
|
row = painsledDesktopParser(f2)
|
||||||
|
|||||||
@@ -325,6 +325,10 @@ def handle_nonpainsled(f2,fileformat,summary=''):
|
|||||||
if (fileformat == 'bcmike'):
|
if (fileformat == 'bcmike'):
|
||||||
row = BoatCoachAdvancedParser(f2)
|
row = BoatCoachAdvancedParser(f2)
|
||||||
|
|
||||||
|
# handle BoatCoach OTW
|
||||||
|
if (fileformat == 'boatcoachotw'):
|
||||||
|
row = BoatCoachOTWParser(f2)
|
||||||
|
|
||||||
# handle BoatCoach
|
# handle BoatCoach
|
||||||
if (fileformat == 'boatcoach'):
|
if (fileformat == 'boatcoach'):
|
||||||
row = BoatCoachParser(f2)
|
row = BoatCoachParser(f2)
|
||||||
|
|||||||
@@ -700,6 +700,8 @@ def leaflet_chart(lat,lon,name=""):
|
|||||||
|
|
||||||
df = df.replace(0,np.nan)
|
df = df.replace(0,np.nan)
|
||||||
df = df.loc[(df!=0).any(axis=1)]
|
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']
|
lat = df['lat']
|
||||||
lon = df['lon']
|
lon = df['lon']
|
||||||
if lat.empty or lon.empty:
|
if lat.empty or lon.empty:
|
||||||
|
|||||||
@@ -115,8 +115,10 @@
|
|||||||
|
|
||||||
<h6>Registering an app</h6>
|
<h6>Registering an app</h6>
|
||||||
|
|
||||||
<p>As a registered user, you can register an app.</p>
|
|
||||||
<ul><li><a href="/rowers/o/applications/">Self-service app link.</a></li></ul>
|
<p>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</p>
|
||||||
|
|
||||||
<h6>Authentication</h6>
|
<h6>Authentication</h6>
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ workoutsources = (
|
|||||||
('rowperfect3','rowperfect3'),
|
('rowperfect3','rowperfect3'),
|
||||||
('ergdata','ergdata'),
|
('ergdata','ergdata'),
|
||||||
('boatcoach','boatcoach'),
|
('boatcoach','boatcoach'),
|
||||||
|
('boatcoachotw','boatcoachotw'),
|
||||||
('bcmike','boatcoach (develop)'),
|
('bcmike','boatcoach (develop)'),
|
||||||
('painsleddesktop','painsleddesktop'),
|
('painsleddesktop','painsleddesktop'),
|
||||||
('speedcoach','speedcoach'),
|
('speedcoach','speedcoach'),
|
||||||
|
|||||||
@@ -102,10 +102,14 @@ handler404 = 'views.error404_view'
|
|||||||
handler400 = 'views.error400_view'
|
handler400 = 'views.error400_view'
|
||||||
handler403 = 'views.error403_view'
|
handler403 = 'views.error403_view'
|
||||||
|
|
||||||
|
from oauth2_provider.views import base
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
# url(r'^password_change/$',auth_views.password_change),
|
# url(r'^password_change/$',auth_views.password_change),
|
||||||
# url(r'^password_change_done/$',auth_views.password_change_done),
|
# 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'^', include(router.urls)),
|
||||||
url(r'^api-docs$', views.schema_view),
|
url(r'^api-docs$', views.schema_view),
|
||||||
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
|
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
|
||||||
|
|||||||
@@ -176,13 +176,13 @@ AUTH_PASSWORD_VALIDATORS = [
|
|||||||
# Internationalization
|
# Internationalization
|
||||||
# https://docs.djangoproject.com/en/1.9/topics/i18n/
|
# https://docs.djangoproject.com/en/1.9/topics/i18n/
|
||||||
|
|
||||||
TIME_ZONE = 'UTC'
|
|
||||||
|
|
||||||
USE_I18N = True
|
USE_I18N = True
|
||||||
|
|
||||||
USE_L10N = True
|
USE_L10N = True
|
||||||
|
|
||||||
USE_TZ = True
|
USE_TZ = True
|
||||||
|
TIME_ZONE = 'UTC'
|
||||||
|
|
||||||
TZ_DETECT_COUNTRIES = ('US','DE','GB','CZ','FR','IT')
|
TZ_DETECT_COUNTRIES = ('US','DE','GB','CZ','FR','IT')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user