We're building Gauges to show the video data based on the
+ Google charts API.
+ You can contribute by developing your own gauge in
+ JSFiddle like
+ this example.
+ Please send us the link to the JSFiddle example by email using the
+ Contact Form and we'll discuss the possibilities
+ with you.
+
+
From 45d1823b7067af98d2dea7e07cdf4d5d542e0d91 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Thu, 2 Jan 2020 17:00:29 +0100
Subject: [PATCH 10/57] updated Dockerfile
---
Dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Dockerfile b/Dockerfile
index 3cf83085..fd6a80c9 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,5 @@
FROM python:3-alpine
-COPY requirements.txt ./
+COPY ./requirements.txt ./
WORKDIR /usr/src/app/
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
From 9e55cb496cf01d84919b4113ab702f94f736984f Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Thu, 2 Jan 2020 20:31:07 +0100
Subject: [PATCH 11/57] removing old power calc
---
rowers/models.py | 6 +++---
rowers/tasks.py | 14 ++++----------
rowers/views/workoutviews.py | 8 ++++----
3 files changed, 11 insertions(+), 17 deletions(-)
diff --git a/rowers/models.py b/rowers/models.py
index d73bb683..47b6d629 100644
--- a/rowers/models.py
+++ b/rowers/models.py
@@ -3202,12 +3202,12 @@ class WorkoutForm(ModelForm):
# Used for the rowing physics calculations
class AdvancedWorkoutForm(ModelForm):
- quick_calc = forms.BooleanField(initial=True,required=False)
- go_service = forms.BooleanField(initial=False,required=False,label='Experimental')
+ #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','quick_calc']
+ fields = ['boattype','weightvalue']
class RowerExportForm(ModelForm):
class Meta:
diff --git a/rowers/tasks.py b/rowers/tasks.py
index 9f31af9b..0a097d19 100644
--- a/rowers/tasks.py
+++ b/rowers/tasks.py
@@ -1516,19 +1516,11 @@ def handle_otwsetpower(self,f1, boattype, weightvalue,
else:
debug = False
- if 'quick_calc' in kwargs:
- usetable = kwargs['quick_calc']
- else:
- usetable = False
-
- if 'go_service' in kwargs:
- goservice = kwargs['go_service']
- else:
- goservice = False
-
kwargs['jobid'] = job_id
+
+
weightvalue = float(weightvalue)
# check what the real file name is
@@ -1569,6 +1561,8 @@ def handle_otwsetpower(self,f1, boattype, weightvalue,
progressurl += "/rowers/record-progress/"
progressurl += job_id+'/'
+ goservice = True
+
if goservice:
# do something (this should return from go service)
with grpc.insecure_channel(
diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py
index e50c618e..eea37716 100644
--- a/rowers/views/workoutviews.py
+++ b/rowers/views/workoutviews.py
@@ -2623,8 +2623,8 @@ def workout_otwsetpower_view(request,id=0,message="",successmessage=""):
form = AdvancedWorkoutForm(request.POST)
if form.is_valid():
- quick_calc = form.cleaned_data['quick_calc']
- go_service = form.cleaned_data['go_service']
+ #quick_calc = form.cleaned_data['quick_calc']
+ #go_service = form.cleaned_data['go_service']
boattype = form.cleaned_data['boattype']
weightvalue = form.cleaned_data['weightvalue']
w.boattype = boattype
@@ -2669,8 +2669,8 @@ def workout_otwsetpower_view(request,id=0,message="",successmessage=""):
first_name,last_name,emailaddress,encoder.decode_hex(id),
ps=[r.p0,r.p1,r.p2,r.p3],
ratio=r.cpratio,
- quick_calc = quick_calc,
- go_service=go_service,
+ # quick_calc = quick_calc,
+ # go_service=go_service,
emailbounced = r.emailbounced
)
From 11e4a2cc1018de4e7b82889e3c847c88ef6f36d0 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Thu, 2 Jan 2020 21:45:43 +0100
Subject: [PATCH 12/57] adding .dockerignore
---
.dockerignore | 1 +
Dockerfile | 9 +-
rowsandall_workouts_2017-09-28_2018-09-28.csv | 434 ------------------
3 files changed, 7 insertions(+), 437 deletions(-)
create mode 100644 .dockerignore
delete mode 100644 rowsandall_workouts_2017-09-28_2018-09-28.csv
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 00000000..5ceb3864
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1 @@
+venv
diff --git a/Dockerfile b/Dockerfile
index fd6a80c9..09dc421d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,10 @@
-FROM python:3-alpine
-COPY ./requirements.txt ./
+FROM debian
+RUN apt-get update && apt-get install \
+ -y --no-install-recommends python3 python3-virtualenv
+RUN python3 -m virtualenv --python=/usr/bin/python3 /opt/venv
+COPY ./requirements.txt /usr/src/app/
WORKDIR /usr/src/app/
-RUN pip install --no-cache-dir -r requirements.txt
+RUN . /opt/venv/bin/activate && pip install -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python", "./manage.py", "runserver"]
diff --git a/rowsandall_workouts_2017-09-28_2018-09-28.csv b/rowsandall_workouts_2017-09-28_2018-09-28.csv
deleted file mode 100644
index b767fb45..00000000
--- a/rowsandall_workouts_2017-09-28_2018-09-28.csv
+++ /dev/null
@@ -1,434 +0,0 @@
-,Stroke Data CSV,Stroke Data TCX,TRIMP Training Load,TSS Training Load,date,distance (m),duration ,name,notes,timezone,type,weight (kg),weight category
-0,https://rowsandall.com/rowers/workout/2542/emailcsv,https://rowsandall.com/rowers/workout/2542/emailtcx,0,0,1970-01-01 00:00:00+00:00,9578,00:47:55.400000,Test Auto Sync Pro User,,Europe/Prague,rower,80.0,lwt
-1,https://rowsandall.com/rowers/workout/2500/emailcsv,https://rowsandall.com/rowers/workout/2500/emailtcx,0,0,2014-02-26 20:32:33+00:00,65,00:00:02,Sample Workout JSON,,UTC,water,80.0,lwt
-2,https://rowsandall.com/rowers/workout/3033/emailcsv,https://rowsandall.com/rowers/workout/3033/emailtcx,95,264,2015-06-02 06:29:02+00:00,14002,00:59:37.700000,Test P,,Europe/Prague,water,80.0,hwt
-3,https://rowsandall.com/rowers/workout/2501/emailcsv,https://rowsandall.com/rowers/workout/2501/emailtcx,0,0,2016-04-02 08:15:08+00:00,10269,01:05:24,Completed a workout (generic) 6.35 mi on 04/02/16,,Europe/Prague,water,80.0,lwt
-4,https://rowsandall.com/rowers/workout/2408/emailcsv,https://rowsandall.com/rowers/workout/2408/emailtcx,0,0,2016-07-30 08:40:36+00:00,1001,00:03:41,Comparison,,Europe/Berlin,rower,80.0,lwt
-5,https://rowsandall.com/rowers/workout/3032/emailcsv,https://rowsandall.com/rowers/workout/3032/emailtcx,0,0,2016-07-31 12:35:01+00:00,1111,00:04:32.700000,,,Europe/Prague,water,80.0,hwt
-6,https://rowsandall.com/rowers/workout/2572/emailcsv,https://rowsandall.com/rowers/workout/2572/emailtcx,0,0,2016-11-28 08:37:02+00:00,499,00:01:58,BC,,Europe/Prague,rower,80.0,lwt
-7,https://rowsandall.com/rowers/workout/2379/emailcsv,https://rowsandall.com/rowers/workout/2379/emailtcx,0,0,2017-10-27 16:14:42+00:00,742,00:02:25,Test Weba,,Europe/Prague,water,80.0,lwt
-8,https://rowsandall.com/rowers/workout/2380/emailcsv,https://rowsandall.com/rowers/workout/2380/emailtcx,0,0,2017-10-27 16:14:42+00:00,742,00:02:25,Test Weba,,Europe/Belgrade,water,80.0,lwt
-9,https://rowsandall.com/rowers/workout/2521/emailcsv,https://rowsandall.com/rowers/workout/2521/emailtcx,0,0,2017-11-09 09:15:32+00:00,49842,02:19:37,Import from Polar Flow,imported through email,Europe/Helsinki,water,80.0,lwt
-10,https://rowsandall.com/rowers/workout/2524/emailcsv,https://rowsandall.com/rowers/workout/2524/emailtcx,0,0,2017-11-09 09:15:32+00:00,49842,02:19:37,Import from Polar Flow,imported through email,Europe/Helsinki,water,80.0,lwt
-11,https://rowsandall.com/rowers/workout/2527/emailcsv,https://rowsandall.com/rowers/workout/2527/emailtcx,0,0,2017-11-09 09:15:32+00:00,49842,02:19:37,Import from Polar Flow,imported through email,Europe/Helsinki,water,80.0,lwt
-12,https://rowsandall.com/rowers/workout/2531/emailcsv,https://rowsandall.com/rowers/workout/2531/emailtcx,0,0,2017-11-09 09:15:32+00:00,49842,02:19:37,Import from Polar Flow,imported through email,Europe/Helsinki,water,80.0,lwt
-13,https://rowsandall.com/rowers/workout/2523/emailcsv,https://rowsandall.com/rowers/workout/2523/emailtcx,0,0,2017-11-09 15:15:32+00:00,0,02:28:28,Import from Polar Flow,imported through email,Europe/Helsinki,water,80.0,lwt
-14,https://rowsandall.com/rowers/workout/2526/emailcsv,https://rowsandall.com/rowers/workout/2526/emailtcx,0,0,2017-11-09 15:15:32+00:00,0,02:28:28,Import from Polar Flow,imported through email,Europe/Helsinki,water,80.0,lwt
-15,https://rowsandall.com/rowers/workout/2529/emailcsv,https://rowsandall.com/rowers/workout/2529/emailtcx,0,0,2017-11-09 15:15:32+00:00,0,02:28:28,Import from Polar Flow,imported through email,Europe/Helsinki,water,80.0,lwt
-16,https://rowsandall.com/rowers/workout/2533/emailcsv,https://rowsandall.com/rowers/workout/2533/emailtcx,0,0,2017-11-09 15:15:32+00:00,0,02:28:28,Import from Polar Flow,imported through email,Europe/Helsinki,water,80.0,lwt
-17,https://rowsandall.com/rowers/workout/2520/emailcsv,https://rowsandall.com/rowers/workout/2520/emailtcx,0,0,2017-11-09 18:15:32+00:00,10016,01:06:03,Polar Import,,Europe/Helsinki,rower,80.0,lwt
-18,https://rowsandall.com/rowers/workout/2522/emailcsv,https://rowsandall.com/rowers/workout/2522/emailtcx,0,0,2017-11-09 18:15:32+00:00,10016,01:06:03,Import from Polar Flow,imported through email,Europe/Helsinki,water,80.0,lwt
-19,https://rowsandall.com/rowers/workout/2525/emailcsv,https://rowsandall.com/rowers/workout/2525/emailtcx,0,0,2017-11-09 18:15:32+00:00,10016,01:06:03,Import from Polar Flow,imported through email,Europe/Helsinki,water,80.0,lwt
-20,https://rowsandall.com/rowers/workout/2528/emailcsv,https://rowsandall.com/rowers/workout/2528/emailtcx,0,0,2017-11-09 18:15:32+00:00,10016,01:06:03,Import from Polar Flow,imported through email,Europe/Helsinki,water,80.0,lwt
-21,https://rowsandall.com/rowers/workout/2532/emailcsv,https://rowsandall.com/rowers/workout/2532/emailtcx,0,0,2017-11-09 18:15:32+00:00,10016,01:06:03,Import from Polar Flow,imported through email,Europe/Helsinki,water,80.0,lwt
-22,https://rowsandall.com/rowers/workout/2494/emailcsv,https://rowsandall.com/rowers/workout/2494/emailtcx,0,0,2017-11-12 10:25:00+00:00,10526,00:44:01.700000,Race,,Europe/Rome,water,80.0,lwt
-23,https://rowsandall.com/rowers/workout/2496/emailcsv,https://rowsandall.com/rowers/workout/2496/emailtcx,0,0,2017-11-12 10:25:00+00:00,10526,00:44:01.700000,Race,,Europe/Rome,water,80.0,lwt
-24,https://rowsandall.com/rowers/workout/2497/emailcsv,https://rowsandall.com/rowers/workout/2497/emailtcx,0,0,2017-11-12 10:25:00+00:00,10526,00:44:01.700000,SpdCoach 2,,Europe/Rome,rower,80.0,lwt
-25,https://rowsandall.com/rowers/workout/2498/emailcsv,https://rowsandall.com/rowers/workout/2498/emailtcx,0,0,2017-11-12 10:25:00+00:00,10526,00:44:01.700000,boat speed test,,Europe/Rome,water,80.0,lwt
-26,https://rowsandall.com/rowers/workout/2499/emailcsv,https://rowsandall.com/rowers/workout/2499/emailtcx,0,0,2017-11-12 10:25:00+00:00,10526,00:44:01.700000,Boat Speed test 2,,Europe/Rome,water,80.0,lwt
-27,https://rowsandall.com/rowers/workout/2724/emailcsv,https://rowsandall.com/rowers/workout/2724/emailtcx,0,0,2018-01-01 09:27:47+00:00,5000,00:18:37,C2 Import Workout from 2018-01-01 09:27:47+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-28,https://rowsandall.com/rowers/workout/2723/emailcsv,https://rowsandall.com/rowers/workout/2723/emailtcx,0,0,2018-01-01 09:48:09+00:00,2963,00:13:29,C2 Import Workout from 2018-01-01 09:48:09+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-29,https://rowsandall.com/rowers/workout/2722/emailcsv,https://rowsandall.com/rowers/workout/2722/emailtcx,0,0,2018-01-02 18:22:08+00:00,14183,00:59:49.900000,C2 Import Workout from 2018-01-02 18:22:08+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-30,https://rowsandall.com/rowers/workout/2721/emailcsv,https://rowsandall.com/rowers/workout/2721/emailtcx,0,0,2018-01-03 16:24:47+00:00,4821,00:20:04.500000,C2 Import Workout from 2018-01-03 16:24:47+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-31,https://rowsandall.com/rowers/workout/2720/emailcsv,https://rowsandall.com/rowers/workout/2720/emailtcx,0,0,2018-01-03 16:46:19+00:00,2000,00:07:07.500000,C2 Import Workout from 2018-01-03 16:46:19+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-32,https://rowsandall.com/rowers/workout/2719/emailcsv,https://rowsandall.com/rowers/workout/2719/emailtcx,0,0,2018-01-03 16:57:04+00:00,2997,00:13:35.100000,C2 Import Workout from 2018-01-03 16:57:04+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-33,https://rowsandall.com/rowers/workout/2718/emailcsv,https://rowsandall.com/rowers/workout/2718/emailtcx,0,0,2018-01-06 13:59:30+00:00,4722,00:20:06.200000,C2 Import Workout from 2018-01-06 13:59:30+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-34,https://rowsandall.com/rowers/workout/2717/emailcsv,https://rowsandall.com/rowers/workout/2717/emailtcx,0,0,2018-01-06 14:20:43+00:00,1171,00:04:00,C2 Import Workout from 2018-01-06 14:20:43+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-35,https://rowsandall.com/rowers/workout/2716/emailcsv,https://rowsandall.com/rowers/workout/2716/emailtcx,0,0,2018-01-06 14:25:53+00:00,8006,00:36:13.600000,C2 Import Workout from 2018-01-06 14:25:53+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-36,https://rowsandall.com/rowers/workout/2715/emailcsv,https://rowsandall.com/rowers/workout/2715/emailtcx,0,0,2018-01-07 14:03:51+00:00,2520,00:10:42.700000,C2 Import Workout from 2018-01-07 14:03:51+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-37,https://rowsandall.com/rowers/workout/2714/emailcsv,https://rowsandall.com/rowers/workout/2714/emailtcx,0,0,2018-01-07 14:18:45+00:00,9996,00:42:35.100000,C2 Import Workout from 2018-01-07 14:18:45+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-38,https://rowsandall.com/rowers/workout/2713/emailcsv,https://rowsandall.com/rowers/workout/2713/emailtcx,0,0,2018-01-09 18:22:19+00:00,5267,00:22:34.200000,C2 Import Workout from 2018-01-09 18:22:19+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-39,https://rowsandall.com/rowers/workout/2712/emailcsv,https://rowsandall.com/rowers/workout/2712/emailtcx,0,0,2018-01-09 18:46:20+00:00,1000,00:03:21.400000,C2 Import Workout from 2018-01-09 18:46:20+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-40,https://rowsandall.com/rowers/workout/2711/emailcsv,https://rowsandall.com/rowers/workout/2711/emailtcx,0,0,2018-01-09 18:51:03+00:00,2300,00:10:04.500000,C2 Import Workout from 2018-01-09 18:51:03+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-41,https://rowsandall.com/rowers/workout/2710/emailcsv,https://rowsandall.com/rowers/workout/2710/emailtcx,0,0,2018-01-12 16:09:10+00:00,2008,00:08:39.100000,C2 Import Workout from 2018-01-12 16:09:10+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-42,https://rowsandall.com/rowers/workout/2709/emailcsv,https://rowsandall.com/rowers/workout/2709/emailtcx,0,0,2018-01-12 16:19:00+00:00,500,00:01:33.400000,C2 Import Workout from 2018-01-12 16:19:00+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-43,https://rowsandall.com/rowers/workout/2708/emailcsv,https://rowsandall.com/rowers/workout/2708/emailtcx,0,0,2018-01-12 16:21:06+00:00,2002,00:09:25.600000,C2 Import Workout from 2018-01-12 16:21:06+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-44,https://rowsandall.com/rowers/workout/2707/emailcsv,https://rowsandall.com/rowers/workout/2707/emailtcx,0,0,2018-01-12 16:31:08+00:00,100,00:00:17.600000,C2 Import Workout from 2018-01-12 16:31:08+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-45,https://rowsandall.com/rowers/workout/2706/emailcsv,https://rowsandall.com/rowers/workout/2706/emailtcx,0,0,2018-01-12 16:31:58+00:00,2011,00:08:56.600000,C2 Import Workout from 2018-01-12 16:31:58+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-46,https://rowsandall.com/rowers/workout/2705/emailcsv,https://rowsandall.com/rowers/workout/2705/emailtcx,0,0,2018-01-13 12:40:00+00:00,2000,00:06:55.800000,C2 Import Workout from 2018-01-13 12:40:00+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-47,https://rowsandall.com/rowers/workout/2704/emailcsv,https://rowsandall.com/rowers/workout/2704/emailtcx,0,0,2018-01-16 18:40:49+00:00,2007,00:08:30.800000,C2 Import Workout from 2018-01-16 18:40:49+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-48,https://rowsandall.com/rowers/workout/2703/emailcsv,https://rowsandall.com/rowers/workout/2703/emailtcx,0,0,2018-01-16 18:50:09+00:00,333,00:01:00,C2 Import Workout from 2018-01-16 18:50:09+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-49,https://rowsandall.com/rowers/workout/2702/emailcsv,https://rowsandall.com/rowers/workout/2702/emailtcx,0,0,2018-01-16 18:51:41+00:00,6820,00:31:22.200000,C2 Import Workout from 2018-01-16 18:51:41+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-50,https://rowsandall.com/rowers/workout/2701/emailcsv,https://rowsandall.com/rowers/workout/2701/emailtcx,0,0,2018-01-16 19:24:23+00:00,2008,00:09:01.100000,C2 Import Workout from 2018-01-16 19:24:23+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-51,https://rowsandall.com/rowers/workout/2700/emailcsv,https://rowsandall.com/rowers/workout/2700/emailtcx,0,0,2018-01-18 19:01:45+00:00,2007,00:08:27.600000,C2 Import Workout from 2018-01-18 19:01:45+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-52,https://rowsandall.com/rowers/workout/2699/emailcsv,https://rowsandall.com/rowers/workout/2699/emailtcx,0,0,2018-01-18 19:10:50+00:00,6918,00:29:14.200000,C2 Import Workout from 2018-01-18 19:10:50+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-53,https://rowsandall.com/rowers/workout/2698/emailcsv,https://rowsandall.com/rowers/workout/2698/emailtcx,0,0,2018-01-18 19:40:40+00:00,1217,00:06:11.100000,C2 Import Workout from 2018-01-18 19:40:40+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-54,https://rowsandall.com/rowers/workout/2697/emailcsv,https://rowsandall.com/rowers/workout/2697/emailtcx,0,0,2018-01-18 19:47:32+00:00,6697,00:29:16.700000,C2 Import Workout from 2018-01-18 19:47:32+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-55,https://rowsandall.com/rowers/workout/2696/emailcsv,https://rowsandall.com/rowers/workout/2696/emailtcx,0,0,2018-01-18 20:17:58+00:00,1997,00:09:10.700000,C2 Import Workout from 2018-01-18 20:17:58+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-56,https://rowsandall.com/rowers/workout/2692/emailcsv,https://rowsandall.com/rowers/workout/2692/emailtcx,0,0,2018-01-19 00:00:00+00:00,200,00:02:00.200000,C2 Import Workout from 2018-01-19 00:00:00+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-57,https://rowsandall.com/rowers/workout/2693/emailcsv,https://rowsandall.com/rowers/workout/2693/emailtcx,0,0,2018-01-19 00:00:00+00:00,200,00:01:55,C2 Import Workout from 2018-01-19 00:00:00+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-58,https://rowsandall.com/rowers/workout/2694/emailcsv,https://rowsandall.com/rowers/workout/2694/emailtcx,0,0,2018-01-19 00:00:00+00:00,200,00:02:00,C2 Import Workout from 2018-01-19 00:00:00+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-59,https://rowsandall.com/rowers/workout/2695/emailcsv,https://rowsandall.com/rowers/workout/2695/emailtcx,0,0,2018-01-19 00:00:00+00:00,200,00:01:10,C2 Import Workout from 2018-01-19 00:00:00+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-60,https://rowsandall.com/rowers/workout/2691/emailcsv,https://rowsandall.com/rowers/workout/2691/emailtcx,0,0,2018-01-20 13:22:31+00:00,19381,01:20:39.100000,C2 Import Workout from 2018-01-20 13:22:31+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-61,https://rowsandall.com/rowers/workout/2690/emailcsv,https://rowsandall.com/rowers/workout/2690/emailtcx,0,0,2018-01-24 18:55:23+00:00,210,00:01:43.400000,C2 Import Workout from 2018-01-24 18:55:23+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-62,https://rowsandall.com/rowers/workout/2689/emailcsv,https://rowsandall.com/rowers/workout/2689/emailtcx,0,0,2018-01-24 18:59:06+00:00,2110,00:08:42.700000,C2 Import Workout from 2018-01-24 18:59:06+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-63,https://rowsandall.com/rowers/workout/2688/emailcsv,https://rowsandall.com/rowers/workout/2688/emailtcx,0,0,2018-01-24 19:08:04+00:00,6081,00:25:10,C2 Import Workout from 2018-01-24 19:08:04+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-64,https://rowsandall.com/rowers/workout/2687/emailcsv,https://rowsandall.com/rowers/workout/2687/emailtcx,0,0,2018-01-24 19:24:18+00:00,14426,01:00:12.600000,C2 Import Workout from 2018-01-24 19:24:18+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-65,https://rowsandall.com/rowers/workout/2686/emailcsv,https://rowsandall.com/rowers/workout/2686/emailtcx,0,0,2018-01-27 13:23:26+00:00,14981,01:01:39.600000,C2 Import Workout from 2018-01-27 13:23:26+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-66,https://rowsandall.com/rowers/workout/2685/emailcsv,https://rowsandall.com/rowers/workout/2685/emailtcx,0,0,2018-01-27 14:25:07+00:00,18338,01:15:22.800000,C2 Import Workout from 2018-01-27 14:25:07+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-67,https://rowsandall.com/rowers/workout/2684/emailcsv,https://rowsandall.com/rowers/workout/2684/emailtcx,0,0,2018-02-03 14:20:18+00:00,12181,00:51:46,C2 Import Workout from 2018-02-03 14:20:18+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-68,https://rowsandall.com/rowers/workout/2683/emailcsv,https://rowsandall.com/rowers/workout/2683/emailtcx,0,0,2018-02-06 17:54:01+00:00,7210,00:31:09,C2 Import Workout from 2018-02-06 17:54:01+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-69,https://rowsandall.com/rowers/workout/2682/emailcsv,https://rowsandall.com/rowers/workout/2682/emailtcx,0,0,2018-02-10 09:10:14+00:00,3040,00:12:47.200000,C2 Import Workout from 2018-02-10 09:10:14+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-70,https://rowsandall.com/rowers/workout/2681/emailcsv,https://rowsandall.com/rowers/workout/2681/emailtcx,0,0,2018-02-10 09:23:52+00:00,9305,00:40:50.900000,C2 Import Workout from 2018-02-10 09:23:52+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-71,https://rowsandall.com/rowers/workout/2680/emailcsv,https://rowsandall.com/rowers/workout/2680/emailtcx,0,0,2018-02-10 10:06:00+00:00,2009,00:09:04.200000,C2 Import Workout from 2018-02-10 10:06:00+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-72,https://rowsandall.com/rowers/workout/2679/emailcsv,https://rowsandall.com/rowers/workout/2679/emailtcx,0,0,2018-02-11 16:57:32+00:00,14430,01:01:23,C2 Import Workout from 2018-02-11 16:57:32+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-73,https://rowsandall.com/rowers/workout/2335/emailcsv,https://rowsandall.com/rowers/workout/2335/emailtcx,0,0,2018-02-12 05:02:06+00:00,3872,00:27:12.200000,SpdCoach 1,,America/Los_Angeles,water,80.0,lwt
-74,https://rowsandall.com/rowers/workout/2338/emailcsv,https://rowsandall.com/rowers/workout/2338/emailtcx,0,0,2018-02-12 05:02:06+00:00,9336,09:58:35,Joined Workout,,America/Los_Angeles,water,80.0,lwt
-75,https://rowsandall.com/rowers/workout/2339/emailcsv,https://rowsandall.com/rowers/workout/2339/emailtcx,0,0,2018-02-12 05:02:06+00:00,7522,09:41:48.200000,Joined Workout,,America/Los_Angeles,water,80.0,lwt
-76,https://rowsandall.com/rowers/workout/2341/emailcsv,https://rowsandall.com/rowers/workout/2341/emailtcx,0,0,2018-02-12 05:02:06+00:00,9336,09:58:35,Joined Workout,,America/Los_Angeles,water,80.0,lwt
-77,https://rowsandall.com/rowers/workout/2342/emailcsv,https://rowsandall.com/rowers/workout/2342/emailtcx,0,0,2018-02-12 05:02:06+00:00,9336,09:58:35,Joined Workout,,America/Los_Angeles,water,80.0,lwt
-78,https://rowsandall.com/rowers/workout/2343/emailcsv,https://rowsandall.com/rowers/workout/2343/emailtcx,0,0,2018-02-12 05:02:06+00:00,9336,09:58:35,Joined Workout,,America/Los_Angeles,water,80.0,lwt
-79,https://rowsandall.com/rowers/workout/2410/emailcsv,https://rowsandall.com/rowers/workout/2410/emailtcx,0,0,2018-02-12 05:02:06+00:00,3872,00:27:12.200000,Test,,America/Los_Angeles,water,80.0,lwt
-80,https://rowsandall.com/rowers/workout/2414/emailcsv,https://rowsandall.com/rowers/workout/2414/emailtcx,0,0,2018-02-12 05:02:06+00:00,9336,09:58:35,Joined Workout,,America/Los_Angeles,water,80.0,lwt
-81,https://rowsandall.com/rowers/workout/2416/emailcsv,https://rowsandall.com/rowers/workout/2416/emailtcx,0,0,2018-02-12 05:02:06+00:00,3872,00:27:12.200000,Test aaaa,,America/Los_Angeles,water,80.0,lwt
-82,https://rowsandall.com/rowers/workout/2417/emailcsv,https://rowsandall.com/rowers/workout/2417/emailtcx,0,0,2018-02-12 05:02:06+00:00,9336,09:58:35,Joined Workout,,America/Los_Angeles,water,80.0,lwt
-83,https://rowsandall.com/rowers/workout/2418/emailcsv,https://rowsandall.com/rowers/workout/2418/emailtcx,0,0,2018-02-12 05:02:06+00:00,3872,00:27:12.200000,Test i,,America/Los_Angeles,water,80.0,lwt
-84,https://rowsandall.com/rowers/workout/2419/emailcsv,https://rowsandall.com/rowers/workout/2419/emailtcx,0,0,2018-02-12 05:02:06+00:00,11394,09:42:05.500000,Joined Workout,,America/Los_Angeles,water,80.0,lwt
-85,https://rowsandall.com/rowers/workout/2420/emailcsv,https://rowsandall.com/rowers/workout/2420/emailtcx,0,0,2018-02-12 13:55:06+00:00,3872,00:27:12.200000,Test ii,,America/Los_Angeles,water,80.0,lwt
-86,https://rowsandall.com/rowers/workout/2421/emailcsv,https://rowsandall.com/rowers/workout/2421/emailtcx,0,0,2018-02-12 13:55:06+00:00,350236,00:49:05.500000,Joined Workout,,America/Los_Angeles,water,80.0,lwt
-87,https://rowsandall.com/rowers/workout/2344/emailcsv,https://rowsandall.com/rowers/workout/2344/emailtcx,0,0,2018-02-12 14:02:06+00:00,3872,00:27:12.200000,SpdCoach Sessions,imported through email,America/Los_Angeles,water,80.0,lwt
-88,https://rowsandall.com/rowers/workout/2347/emailcsv,https://rowsandall.com/rowers/workout/2347/emailtcx,0,0,2018-02-12 14:02:06+00:00,9336,00:58:35,Joined Workout,imported through email,America/Los_Angeles,water,80.0,lwt
-89,https://rowsandall.com/rowers/workout/2411/emailcsv,https://rowsandall.com/rowers/workout/2411/emailtcx,0,0,2018-02-12 14:02:06+00:00,3872,00:27:12.200000,Test 2,,America/Los_Angeles,water,80.0,lwt
-90,https://rowsandall.com/rowers/workout/2415/emailcsv,https://rowsandall.com/rowers/workout/2415/emailtcx,0,0,2018-02-12 14:02:06+00:00,9336,00:58:35,Joined Workout,,America/Los_Angeles,water,80.0,lwt
-91,https://rowsandall.com/rowers/workout/2430/emailcsv,https://rowsandall.com/rowers/workout/2430/emailtcx,0,0,2018-02-12 14:02:06+00:00,3872,00:27:12.200000,Water,,America/Los_Angeles,water,80.0,lwt
-92,https://rowsandall.com/rowers/workout/2445/emailcsv,https://rowsandall.com/rowers/workout/2445/emailtcx,0,0,2018-02-12 14:02:06+00:00,3872,00:27:12.200000,Test P,imported through email,America/Los_Angeles,water,80.0,lwt
-93,https://rowsandall.com/rowers/workout/2449/emailcsv,https://rowsandall.com/rowers/workout/2449/emailtcx,0,0,2018-02-12 14:02:06+00:00,3872,00:27:12.200000,Water 2x,imported through email,America/Los_Angeles,water,80.0,lwt
-94,https://rowsandall.com/rowers/workout/2412/emailcsv,https://rowsandall.com/rowers/workout/2412/emailtcx,0,0,2018-02-12 14:22:01+00:00,3650,00:14:53.200000,Test 3,,America/Los_Angeles,water,80.0,lwt
-95,https://rowsandall.com/rowers/workout/2336/emailcsv,https://rowsandall.com/rowers/workout/2336/emailtcx,0,0,2018-02-12 14:29:01+00:00,3650,00:14:53.200000,SpdCoach 2,"
-Summary for your location at 2018-02-12T14:55:00Z: Temperature 9.0C/48.2F. Wind: 2.5 m/s (5.0 kt). Wind Bearing: 280.0 degrees",America/Los_Angeles,water,80.0,lwt
-96,https://rowsandall.com/rowers/workout/2340/emailcsv,https://rowsandall.com/rowers/workout/2340/emailtcx,0,0,2018-02-12 14:29:01+00:00,5464,00:31:40,Joined Workout,,America/Los_Angeles,water,80.0,lwt
-97,https://rowsandall.com/rowers/workout/2345/emailcsv,https://rowsandall.com/rowers/workout/2345/emailtcx,0,0,2018-02-12 14:29:01+00:00,3650,00:14:53.200000,SpdCoach Sessions (2),imported through email,America/Los_Angeles,water,80.0,lwt
-98,https://rowsandall.com/rowers/workout/2433/emailcsv,https://rowsandall.com/rowers/workout/2433/emailtcx,0,0,2018-02-12 14:29:01+00:00,3650,00:14:53.200000,Test,,America/Los_Angeles,rower,80.0,lwt
-99,https://rowsandall.com/rowers/workout/2442/emailcsv,https://rowsandall.com/rowers/workout/2442/emailtcx,0,0,2018-02-12 14:29:01+00:00,3650,00:14:53.200000,Water,imported through email,America/Los_Angeles,water,80.0,lwt
-100,https://rowsandall.com/rowers/workout/2444/emailcsv,https://rowsandall.com/rowers/workout/2444/emailtcx,0,0,2018-02-12 14:29:01+00:00,3650,00:14:53.200000,SpdCoach 2,imported through email,America/Los_Angeles,water,80.0,lwt
-101,https://rowsandall.com/rowers/workout/2337/emailcsv,https://rowsandall.com/rowers/workout/2337/emailtcx,0,0,2018-02-12 14:49:02+00:00,1814,00:11:39,SpdCoach 3,,America/Los_Angeles,water,80.0,lwt
-102,https://rowsandall.com/rowers/workout/2346/emailcsv,https://rowsandall.com/rowers/workout/2346/emailtcx,0,0,2018-02-12 14:49:02+00:00,1814,00:11:39,SpdCoach Sessions (3),imported through email,America/Los_Angeles,water,80.0,lwt
-103,https://rowsandall.com/rowers/workout/2413/emailcsv,https://rowsandall.com/rowers/workout/2413/emailtcx,0,0,2018-02-12 14:49:02+00:00,1814,00:11:39,Test 4,,America/Los_Angeles,water,80.0,lwt
-104,https://rowsandall.com/rowers/workout/2443/emailcsv,https://rowsandall.com/rowers/workout/2443/emailtcx,0,0,2018-02-12 14:49:02+00:00,1814,00:11:39,water weer,imported through email,America/Los_Angeles,water,80.0,lwt
-105,https://rowsandall.com/rowers/workout/2678/emailcsv,https://rowsandall.com/rowers/workout/2678/emailtcx,0,0,2018-02-12 18:39:42+00:00,2014,00:08:37.700000,C2 Import Workout from 2018-02-12 18:39:42+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-106,https://rowsandall.com/rowers/workout/2677/emailcsv,https://rowsandall.com/rowers/workout/2677/emailtcx,0,0,2018-02-12 18:49:03+00:00,10562,00:46:12.400000,C2 Import Workout from 2018-02-12 18:49:03+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-107,https://rowsandall.com/rowers/workout/2676/emailcsv,https://rowsandall.com/rowers/workout/2676/emailtcx,0,0,2018-02-12 19:36:43+00:00,1998,00:09:39.800000,C2 Import Workout from 2018-02-12 19:36:43+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-108,https://rowsandall.com/rowers/workout/2675/emailcsv,https://rowsandall.com/rowers/workout/2675/emailtcx,0,0,2018-02-15 18:16:50+00:00,12440,00:51:41.500000,C2 Import Workout from 2018-02-15 18:16:50+00:00,imported from Concept2 log,UTC,rower,80.0,lwt
-109,https://rowsandall.com/rowers/workout/2674/emailcsv,https://rowsandall.com/rowers/workout/2674/emailtcx,0,0,2018-02-15 19:08:28+00:00,14477,01:00:21.800000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-110,https://rowsandall.com/rowers/workout/2673/emailcsv,https://rowsandall.com/rowers/workout/2673/emailtcx,0,0,2018-02-16 14:24:03+00:00,3012,00:12:58.800000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-111,https://rowsandall.com/rowers/workout/2672/emailcsv,https://rowsandall.com/rowers/workout/2672/emailtcx,0,0,2018-02-16 14:37:40+00:00,5277,00:23:00,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-112,https://rowsandall.com/rowers/workout/2671/emailcsv,https://rowsandall.com/rowers/workout/2671/emailtcx,0,0,2018-02-16 15:01:29+00:00,1036,00:05:03.600000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-113,https://rowsandall.com/rowers/workout/2670/emailcsv,https://rowsandall.com/rowers/workout/2670/emailtcx,0,0,2018-02-16 15:07:03+00:00,5113,00:23:22,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-114,https://rowsandall.com/rowers/workout/2669/emailcsv,https://rowsandall.com/rowers/workout/2669/emailtcx,0,0,2018-02-16 15:34:40+00:00,1259,00:05:48.600000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-115,https://rowsandall.com/rowers/workout/2668/emailcsv,https://rowsandall.com/rowers/workout/2668/emailtcx,0,0,2018-02-18 13:30:59+00:00,13541,00:56:07.300000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-116,https://rowsandall.com/rowers/workout/2667/emailcsv,https://rowsandall.com/rowers/workout/2667/emailtcx,0,0,2018-02-20 18:08:13+00:00,2008,00:08:36.300000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-117,https://rowsandall.com/rowers/workout/2666/emailcsv,https://rowsandall.com/rowers/workout/2666/emailtcx,0,0,2018-02-20 18:17:17+00:00,10914,00:48:06.100000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-118,https://rowsandall.com/rowers/workout/2665/emailcsv,https://rowsandall.com/rowers/workout/2665/emailtcx,0,0,2018-02-20 19:06:36+00:00,1513,00:07:37.300000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-119,https://rowsandall.com/rowers/workout/2381/emailcsv,https://rowsandall.com/rowers/workout/2381/emailtcx,0,0,2018-02-21 06:26:01+00:00,6119,00:27:20.200000,3x2km Racice,,Europe/Prague,water,80.0,lwt
-120,https://rowsandall.com/rowers/workout/2384/emailcsv,https://rowsandall.com/rowers/workout/2384/emailtcx,0,0,2018-02-22 09:32:01+00:00,8000,00:35:08.500000,8k trial,,Europe/Prague,water,80.0,lwt
-121,https://rowsandall.com/rowers/workout/2664/emailcsv,https://rowsandall.com/rowers/workout/2664/emailtcx,0,0,2018-02-22 18:40:03+00:00,11481,00:49:17.400000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-122,https://rowsandall.com/rowers/workout/2663/emailcsv,https://rowsandall.com/rowers/workout/2663/emailtcx,0,0,2018-02-23 15:12:10+00:00,2008,00:08:44.800000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-123,https://rowsandall.com/rowers/workout/2383/emailcsv,https://rowsandall.com/rowers/workout/2383/emailtcx,0,0,2018-02-23 15:17:03+00:00,5918,00:25:10.700000,Horin,,Europe/Prague,water,80.0,lwt
-124,https://rowsandall.com/rowers/workout/2662/emailcsv,https://rowsandall.com/rowers/workout/2662/emailtcx,0,0,2018-02-23 15:21:44+00:00,8804,00:39:58,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-125,https://rowsandall.com/rowers/workout/2661/emailcsv,https://rowsandall.com/rowers/workout/2661/emailtcx,0,0,2018-02-23 16:02:23+00:00,2008,00:09:05,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-126,https://rowsandall.com/rowers/workout/2385/emailcsv,https://rowsandall.com/rowers/workout/2385/emailtcx,0,0,2018-02-24 11:58:09+00:00,17045,01:35:59,Washington,,America/New_York,water,80.0,lwt
-127,https://rowsandall.com/rowers/workout/2660/emailcsv,https://rowsandall.com/rowers/workout/2660/emailtcx,0,0,2018-02-24 15:07:07+00:00,14544,01:01:04.500000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-128,https://rowsandall.com/rowers/workout/2386/emailcsv,https://rowsandall.com/rowers/workout/2386/emailtcx,0,0,2018-02-25 12:24:59+00:00,6182,00:26:24.400000,9x500m/70sec,,Europe/Prague,rower,80.0,lwt
-129,https://rowsandall.com/rowers/workout/2659/emailcsv,https://rowsandall.com/rowers/workout/2659/emailtcx,0,0,2018-02-25 14:15:13+00:00,16623,01:22:28,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-130,https://rowsandall.com/rowers/workout/2400/emailcsv,https://rowsandall.com/rowers/workout/2400/emailtcx,0,0,2018-02-25 22:45:28+00:00,4175,00:25:07.700000,Test CP,,Europe/Prague,rower,80.0,lwt
-131,https://rowsandall.com/rowers/workout/2387/emailcsv,https://rowsandall.com/rowers/workout/2387/emailtcx,0,0,2018-02-27 13:19:44+00:00,2206,00:10:00,StatsError,,Europe/Prague,rower,80.0,lwt
-132,https://rowsandall.com/rowers/workout/2658/emailcsv,https://rowsandall.com/rowers/workout/2658/emailtcx,0,0,2018-02-27 16:32:56+00:00,13549,00:56:44.900000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-133,https://rowsandall.com/rowers/workout/2657/emailcsv,https://rowsandall.com/rowers/workout/2657/emailtcx,0,0,2018-03-03 13:50:12+00:00,2012,00:08:42.700000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-134,https://rowsandall.com/rowers/workout/2656/emailcsv,https://rowsandall.com/rowers/workout/2656/emailtcx,0,0,2018-03-03 14:00:26+00:00,6270,00:26:41.700000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-135,https://rowsandall.com/rowers/workout/2655/emailcsv,https://rowsandall.com/rowers/workout/2655/emailtcx,0,0,2018-03-03 14:27:41+00:00,999,00:05:44.100000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-136,https://rowsandall.com/rowers/workout/2395/emailcsv,https://rowsandall.com/rowers/workout/2395/emailtcx,0,0,2018-03-03 14:33:51+00:00,6098,00:26:35.400000,Flex chart not working,,Europe/Prague,rower,80.0,lwt
-137,https://rowsandall.com/rowers/workout/2654/emailcsv,https://rowsandall.com/rowers/workout/2654/emailtcx,0,0,2018-03-03 14:33:51+00:00,6098,00:26:35.400000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-138,https://rowsandall.com/rowers/workout/2653/emailcsv,https://rowsandall.com/rowers/workout/2653/emailtcx,0,0,2018-03-03 15:01:34+00:00,1559,00:07:16.600000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-139,https://rowsandall.com/rowers/workout/2392/emailcsv,https://rowsandall.com/rowers/workout/2392/emailtcx,0,0,2018-03-05 13:51:23+00:00,13802,01:06:00,Mike's average workout,,Europe/Prague,rower,80.0,lwt
-140,https://rowsandall.com/rowers/workout/2396/emailcsv,https://rowsandall.com/rowers/workout/2396/emailtcx,0,0,2018-03-05 13:51:23+00:00,4058,00:17:00,Mike's average workout (1),,Europe/Prague,rower,80.0,lwt
-141,https://rowsandall.com/rowers/workout/2397/emailcsv,https://rowsandall.com/rowers/workout/2397/emailtcx,0,0,2018-03-05 14:08:23+00:00,9738,00:49:00,Mike's average workout (2),,Europe/Prague,rower,80.0,lwt
-142,https://rowsandall.com/rowers/workout/2389/emailcsv,https://rowsandall.com/rowers/workout/2389/emailtcx,0,0,2018-03-05 17:48:31+00:00,7022,00:29:44.400000,test,wat een kutsessie,Europe/Prague,rower,80.0,lwt
-143,https://rowsandall.com/rowers/workout/2652/emailcsv,https://rowsandall.com/rowers/workout/2652/emailtcx,0,0,2018-03-05 17:48:31+00:00,7022,00:29:45.900000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-144,https://rowsandall.com/rowers/workout/2390/emailcsv,https://rowsandall.com/rowers/workout/2390/emailtcx,0,0,2018-03-05 17:50:46+00:00,5019,00:31:27.500000,,,Europe/Prague,rower,80.0,lwt
-145,https://rowsandall.com/rowers/workout/2651/emailcsv,https://rowsandall.com/rowers/workout/2651/emailtcx,0,0,2018-03-08 18:34:05+00:00,2010,00:08:38.700000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-146,https://rowsandall.com/rowers/workout/2650/emailcsv,https://rowsandall.com/rowers/workout/2650/emailtcx,0,0,2018-03-08 18:43:29+00:00,10444,00:46:52.300000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-147,https://rowsandall.com/rowers/workout/2649/emailcsv,https://rowsandall.com/rowers/workout/2649/emailtcx,0,0,2018-03-08 19:31:31+00:00,269,00:01:42,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-148,https://rowsandall.com/rowers/workout/2398/emailcsv,https://rowsandall.com/rowers/workout/2398/emailtcx,0,0,2018-03-09 11:52:48+00:00,4160,00:13:00,test template,"Dit zijn de notes
-Sommige zinnen zijn heel heel heel heel heel heel heel heel lang Sommige zinnen zijn heel heel heel heel heel heel heel heel lang Sommige zinnen zijn heel heel heel heel heel heel heel heel lang Sommige zinnen zijn heel heel heel heel heel heel heel heel lang
-LAngwoordzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz",Europe/Prague,rower,80.0,lwt
-149,https://rowsandall.com/rowers/workout/2399/emailcsv,https://rowsandall.com/rowers/workout/2399/emailtcx,0,0,2018-03-09 11:59:13+00:00,4160,00:13:00,Test P,,Europe/Prague,rower,80.0,lwt
-150,https://rowsandall.com/rowers/workout/2401/emailcsv,https://rowsandall.com/rowers/workout/2401/emailtcx,0,0,2018-03-13 07:32:40+00:00,6479,00:30:27.300000,high power values?,,Europe/Prague,rower,80.0,lwt
-151,https://rowsandall.com/rowers/workout/2648/emailcsv,https://rowsandall.com/rowers/workout/2648/emailtcx,0,0,2018-03-13 18:18:31+00:00,2009,00:08:30,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-152,https://rowsandall.com/rowers/workout/2404/emailcsv,https://rowsandall.com/rowers/workout/2404/emailtcx,0,0,2018-03-13 18:28:00.900000+00:00,9996,00:40:00,C2 Rower Timed. 10.0,"C2 Rower Timed. 10.0km, 40.00 min. (PainSled)",Europe/Prague,rower,80.0,lwt
-153,https://rowsandall.com/rowers/workout/2405/emailcsv,https://rowsandall.com/rowers/workout/2405/emailtcx,0,0,2018-03-13 18:28:00.900000+00:00,10850,00:45:32.400000,C2 Rower Timed. 10.0,"C2 Rower Timed. 10.0km, 40.00 min. (PainSled)",Europe/Prague,rower,80.0,lwt
-154,https://rowsandall.com/rowers/workout/2647/emailcsv,https://rowsandall.com/rowers/workout/2647/emailtcx,0,0,2018-03-13 18:28:01+00:00,10864,00:46:12.800000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-155,https://rowsandall.com/rowers/workout/2646/emailcsv,https://rowsandall.com/rowers/workout/2646/emailtcx,0,0,2018-03-13 19:15:15+00:00,1015,00:05:05.600000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-156,https://rowsandall.com/rowers/workout/2645/emailcsv,https://rowsandall.com/rowers/workout/2645/emailtcx,0,0,2018-03-13 19:18:21+00:00,2009,00:08:29.600000,Imported workout,imported from Concept2 log,UTC,rower,80.0,hwt
-157,https://rowsandall.com/rowers/workout/2644/emailcsv,https://rowsandall.com/rowers/workout/2644/emailtcx,0,0,2018-03-13 19:28:00+00:00,9996,00:40:00,Imported workout,imported from Concept2 log,UTC,rower,80.0,hwt
-158,https://rowsandall.com/rowers/workout/2402/emailcsv,https://rowsandall.com/rowers/workout/2402/emailtcx,0,0,2018-03-13 21:15:46+00:00,1311,00:13:04.100000,Stroke Count,,Europe/Prague,rower,80.0,lwt
-159,https://rowsandall.com/rowers/workout/2403/emailcsv,https://rowsandall.com/rowers/workout/2403/emailtcx,0,0,2018-03-14 19:33:20+00:00,10850,00:45:32.400000,4x10min,,Europe/Prague,rower,80.0,lwt
-160,https://rowsandall.com/rowers/workout/2406/emailcsv,https://rowsandall.com/rowers/workout/2406/emailtcx,0,0,2018-03-15 06:22:52+00:00,336,00:01:00,Test 1 minute,,Europe/Prague,rower,80.0,lwt
-161,https://rowsandall.com/rowers/workout/2422/emailcsv,https://rowsandall.com/rowers/workout/2422/emailtcx,0,0,2018-03-15 06:22:52+00:00,8136,23:59:59.900000,Joined Workout,,Europe/Prague,rower,80.0,lwt
-162,https://rowsandall.com/rowers/workout/2407/emailcsv,https://rowsandall.com/rowers/workout/2407/emailtcx,0,0,2018-03-15 06:23:09+00:00,7800,00:30:00,Thirty Dirty,,Europe/Prague,rower,80.0,lwt
-163,https://rowsandall.com/rowers/workout/2434/emailcsv,https://rowsandall.com/rowers/workout/2434/emailtcx,0,0,2018-03-15 06:25:09+00:00,7800,23:59:59.900000,30 min,,Europe/Prague,rower,80.0,lwt
-164,https://rowsandall.com/rowers/workout/2643/emailcsv,https://rowsandall.com/rowers/workout/2643/emailtcx,0,0,2018-03-15 18:48:48+00:00,2013,00:08:36.700000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-165,https://rowsandall.com/rowers/workout/2425/emailcsv,https://rowsandall.com/rowers/workout/2425/emailtcx,0,0,2018-03-15 18:58:08+00:00,10169,00:44:31.200000,Joined Workout,,Europe/Prague,rower,80.0,lwt
-166,https://rowsandall.com/rowers/workout/2438/emailcsv,https://rowsandall.com/rowers/workout/2438/emailtcx,0,0,2018-03-15 18:58:08+00:00,8157,00:34:21.600000,Test,imported through email,Europe/Prague,rower,80.0,lwt
-167,https://rowsandall.com/rowers/workout/2642/emailcsv,https://rowsandall.com/rowers/workout/2642/emailtcx,0,0,2018-03-15 18:58:08+00:00,8157,00:34:21.500000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-168,https://rowsandall.com/rowers/workout/2423/emailcsv,https://rowsandall.com/rowers/workout/2423/emailtcx,0,0,2018-03-15 18:58:08.620390+00:00,8157,00:34:21.600000,6x4min,,Europe/Prague,rower,80.0,lwt
-169,https://rowsandall.com/rowers/workout/2431/emailcsv,https://rowsandall.com/rowers/workout/2431/emailtcx,0,0,2018-03-15 18:58:08.620390+00:00,8157,00:34:21.600000,Indoor,,Europe/Prague,rower,80.0,lwt
-170,https://rowsandall.com/rowers/workout/2432/emailcsv,https://rowsandall.com/rowers/workout/2432/emailtcx,0,0,2018-03-15 18:58:08.620390+00:00,8157,00:34:21.600000,test,,Europe/Prague,rower,80.0,lwt
-171,https://rowsandall.com/rowers/workout/2435/emailcsv,https://rowsandall.com/rowers/workout/2435/emailtcx,0,0,2018-03-15 18:58:08.620390+00:00,8157,00:34:21.600000,Test,,Europe/Prague,rower,80.0,lwt
-172,https://rowsandall.com/rowers/workout/2436/emailcsv,https://rowsandall.com/rowers/workout/2436/emailtcx,0,0,2018-03-15 18:58:08.620390+00:00,8157,00:34:21.600000,r,,Europe/Prague,rower,80.0,lwt
-173,https://rowsandall.com/rowers/workout/2437/emailcsv,https://rowsandall.com/rowers/workout/2437/emailtcx,0,0,2018-03-15 18:58:08.620390+00:00,8157,00:34:21.600000,a,,Europe/Prague,rower,80.0,lwt
-174,https://rowsandall.com/rowers/workout/2440/emailcsv,https://rowsandall.com/rowers/workout/2440/emailtcx,0,0,2018-03-15 19:33:15+00:00,2012,00:09:24.300000,another one,imported through email,Europe/Prague,rower,80.0,lwt
-175,https://rowsandall.com/rowers/workout/2641/emailcsv,https://rowsandall.com/rowers/workout/2641/emailtcx,0,0,2018-03-15 19:33:15+00:00,2012,00:09:24.300000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-176,https://rowsandall.com/rowers/workout/2424/emailcsv,https://rowsandall.com/rowers/workout/2424/emailtcx,0,0,2018-03-15 19:33:15.009331+00:00,2012,00:09:24.400000,6x4min,,Europe/Prague,rower,80.0,lwt
-177,https://rowsandall.com/rowers/workout/2429/emailcsv,https://rowsandall.com/rowers/workout/2429/emailtcx,0,0,2018-03-16 12:04:52+00:00,9595,00:54:45,Joined Workout,,America/New_York,rower,80.0,lwt
-178,https://rowsandall.com/rowers/workout/2426/emailcsv,https://rowsandall.com/rowers/workout/2426/emailtcx,0,0,2018-03-16 12:09:23+00:00,9269,00:50:14,Test P,,America/New_York,rower,80.0,lwt
-179,https://rowsandall.com/rowers/workout/2428/emailcsv,https://rowsandall.com/rowers/workout/2428/emailtcx,0,0,2018-03-16 12:09:23+00:00,9269,00:50:14,,,America/New_York,rower,80.0,lwt
-180,https://rowsandall.com/rowers/workout/2427/emailcsv,https://rowsandall.com/rowers/workout/2427/emailtcx,0,0,2018-03-16 13:00:52+00:00,326,00:04:03,Water Workout,,America/New_York,water,80.0,lwt
-181,https://rowsandall.com/rowers/workout/2640/emailcsv,https://rowsandall.com/rowers/workout/2640/emailtcx,0,0,2018-03-17 14:14:56+00:00,15231,01:03:19.100000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-182,https://rowsandall.com/rowers/workout/2639/emailcsv,https://rowsandall.com/rowers/workout/2639/emailtcx,0,0,2018-03-18 14:03:27+00:00,3876,00:16:16.200000,Imported workout,imported from Concept2 log,UTC,slides,80.0,lwt
-183,https://rowsandall.com/rowers/workout/2638/emailcsv,https://rowsandall.com/rowers/workout/2638/emailtcx,0,0,2018-03-18 14:20:52+00:00,6000,00:22:17.500000,Imported workout,imported from Concept2 log,UTC,slides,80.0,lwt
-184,https://rowsandall.com/rowers/workout/2637/emailcsv,https://rowsandall.com/rowers/workout/2637/emailtcx,0,0,2018-03-18 14:44:46+00:00,4163,00:19:13.200000,Imported workout,imported from Concept2 log,UTC,slides,80.0,lwt
-185,https://rowsandall.com/rowers/workout/2636/emailcsv,https://rowsandall.com/rowers/workout/2636/emailtcx,0,0,2018-03-22 18:38:59+00:00,2007,00:08:43.800000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-186,https://rowsandall.com/rowers/workout/2635/emailcsv,https://rowsandall.com/rowers/workout/2635/emailtcx,0,0,2018-03-22 18:48:29+00:00,6770,00:29:38.200000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-187,https://rowsandall.com/rowers/workout/2634/emailcsv,https://rowsandall.com/rowers/workout/2634/emailtcx,0,0,2018-03-22 19:18:50+00:00,2010,00:08:46.700000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-188,https://rowsandall.com/rowers/workout/2633/emailcsv,https://rowsandall.com/rowers/workout/2633/emailtcx,0,0,2018-03-24 09:20:07+00:00,15446,01:22:56.300000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-189,https://rowsandall.com/rowers/workout/2451/emailcsv,https://rowsandall.com/rowers/workout/2451/emailtcx,0,0,2018-03-25 09:59:12+00:00,29000,01:50:13,test,,Europe/Zurich,rower,80.0,lwt
-190,https://rowsandall.com/rowers/workout/2452/emailcsv,https://rowsandall.com/rowers/workout/2452/emailtcx,0,0,2018-03-25 09:59:12+00:00,29000,01:50:13,Background processing test,imported through email,Europe/Zurich,water,80.0,lwt
-191,https://rowsandall.com/rowers/workout/2632/emailcsv,https://rowsandall.com/rowers/workout/2632/emailtcx,0,0,2018-03-25 14:29:09+00:00,6664,00:46:07,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-192,https://rowsandall.com/rowers/workout/2453/emailcsv,https://rowsandall.com/rowers/workout/2453/emailtcx,0,0,2018-03-29 13:45:00+00:00,2000,07:25:00,test api,string,UTC,water,80.0,lwt
-193,https://rowsandall.com/rowers/workout/2454/emailcsv,https://rowsandall.com/rowers/workout/2454/emailtcx,0,0,2018-04-02 11:02:55+00:00,3848,00:22:14.200000,RP3 curve,,Europe/Prague,rower,80.0,lwt
-194,https://rowsandall.com/rowers/workout/2455/emailcsv,https://rowsandall.com/rowers/workout/2455/emailtcx,0,0,2018-04-02 11:04:18+00:00,3848,00:22:14.200000,,,Europe/Prague,rower,80.0,lwt
-195,https://rowsandall.com/rowers/workout/2631/emailcsv,https://rowsandall.com/rowers/workout/2631/emailtcx,0,0,2018-04-03 14:34:01+00:00,2822,00:14:43.700000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-196,https://rowsandall.com/rowers/workout/2630/emailcsv,https://rowsandall.com/rowers/workout/2630/emailtcx,0,0,2018-04-03 14:50:01+00:00,7505,00:39:46.500000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-197,https://rowsandall.com/rowers/workout/2456/emailcsv,https://rowsandall.com/rowers/workout/2456/emailtcx,0,0,2018-04-03 15:50:52+00:00,7200,00:37:44,In Stroke,,Europe/Prague,water,80.0,lwt
-198,https://rowsandall.com/rowers/workout/2457/emailcsv,https://rowsandall.com/rowers/workout/2457/emailtcx,0,0,2018-04-03 15:50:52+00:00,7200,00:37:44,In Stroke 2,,Europe/Prague,water,80.0,lwt
-199,https://rowsandall.com/rowers/workout/2629/emailcsv,https://rowsandall.com/rowers/workout/2629/emailtcx,0,0,2018-04-04 18:30:27+00:00,27,00:00:03.200000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-200,https://rowsandall.com/rowers/workout/2628/emailcsv,https://rowsandall.com/rowers/workout/2628/emailtcx,0,0,2018-04-04 19:00:43+00:00,8309,00:48:07.400000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-201,https://rowsandall.com/rowers/workout/2458/emailcsv,https://rowsandall.com/rowers/workout/2458/emailtcx,0,0,2018-04-07 07:41:02+00:00,10568,01:06:08.800000,2x3km fail,,Europe/Prague,water,80.0,lwt
-202,https://rowsandall.com/rowers/workout/2460/emailcsv,https://rowsandall.com/rowers/workout/2460/emailtcx,0,0,2018-04-07 07:41:02+00:00,10568,01:06:08.800000,Update,,Europe/Prague,water,80.0,lwt
-203,https://rowsandall.com/rowers/workout/2627/emailcsv,https://rowsandall.com/rowers/workout/2627/emailtcx,0,0,2018-04-07 07:41:02+00:00,2243,00:12:20.500000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-204,https://rowsandall.com/rowers/workout/2626/emailcsv,https://rowsandall.com/rowers/workout/2626/emailtcx,0,0,2018-04-07 07:55:02+00:00,3167,00:16:59.800000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-205,https://rowsandall.com/rowers/workout/2625/emailcsv,https://rowsandall.com/rowers/workout/2625/emailtcx,0,0,2018-04-07 08:14:02+00:00,2977,00:14:58,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-206,https://rowsandall.com/rowers/workout/2623/emailcsv,https://rowsandall.com/rowers/workout/2623/emailtcx,0,0,2018-04-07 08:33:03+00:00,2180,00:14:07.700000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-207,https://rowsandall.com/rowers/workout/2622/emailcsv,https://rowsandall.com/rowers/workout/2622/emailtcx,0,0,2018-04-10 17:38:22+00:00,11703,00:48:59.500000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-208,https://rowsandall.com/rowers/workout/2621/emailcsv,https://rowsandall.com/rowers/workout/2621/emailtcx,0,0,2018-04-10 18:27:53+00:00,17284,01:11:55.500000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-209,https://rowsandall.com/rowers/workout/2620/emailcsv,https://rowsandall.com/rowers/workout/2620/emailtcx,0,0,2018-04-11 18:37:27+00:00,10122,01:15:44.100000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-210,https://rowsandall.com/rowers/workout/2619/emailcsv,https://rowsandall.com/rowers/workout/2619/emailtcx,0,0,2018-04-12 16:17:02+00:00,10408,00:53:45.100000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-211,https://rowsandall.com/rowers/workout/2618/emailcsv,https://rowsandall.com/rowers/workout/2618/emailtcx,0,0,2018-04-15 08:34:05+00:00,11129,01:03:38,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-212,https://rowsandall.com/rowers/workout/2617/emailcsv,https://rowsandall.com/rowers/workout/2617/emailtcx,0,0,2018-04-18 13:43:04+00:00,1942,00:10:55.300000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-213,https://rowsandall.com/rowers/workout/2616/emailcsv,https://rowsandall.com/rowers/workout/2616/emailtcx,0,0,2018-04-18 13:57:01+00:00,7979,00:36:10.600000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-214,https://rowsandall.com/rowers/workout/2615/emailcsv,https://rowsandall.com/rowers/workout/2615/emailtcx,0,0,2018-04-18 14:49:06+00:00,1512,00:08:27.600000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-215,https://rowsandall.com/rowers/workout/2614/emailcsv,https://rowsandall.com/rowers/workout/2614/emailtcx,0,0,2018-04-20 15:51:41+00:00,9748,01:06:50.100000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-216,https://rowsandall.com/rowers/workout/2613/emailcsv,https://rowsandall.com/rowers/workout/2613/emailtcx,0,0,2018-04-21 15:38:04+00:00,5254,00:27:02.700000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-217,https://rowsandall.com/rowers/workout/2612/emailcsv,https://rowsandall.com/rowers/workout/2612/emailtcx,0,0,2018-04-22 07:15:01+00:00,12282,01:08:28.600000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-218,https://rowsandall.com/rowers/workout/2471/emailcsv,https://rowsandall.com/rowers/workout/2471/emailtcx,0,0,2018-04-23 11:00:00+00:00,1017,00:03:55.200000,7x150min/1min,,America/New_York,water,80.0,lwt
-219,https://rowsandall.com/rowers/workout/2472/emailcsv,https://rowsandall.com/rowers/workout/2472/emailtcx,0,0,2018-04-23 11:00:00+00:00,1017,00:03:55.200000,7x15min test 2,,America/New_York,water,80.0,lwt
-220,https://rowsandall.com/rowers/workout/2473/emailcsv,https://rowsandall.com/rowers/workout/2473/emailtcx,0,0,2018-04-23 11:00:00+00:00,1017,00:03:55.200000,7x150min/1min,,America/New_York,water,80.0,lwt
-221,https://rowsandall.com/rowers/workout/2474/emailcsv,https://rowsandall.com/rowers/workout/2474/emailtcx,0,0,2018-04-23 11:00:00+00:00,1017,00:03:55,test firmware,,America/New_York,water,80.0,lwt
-222,https://rowsandall.com/rowers/workout/2478/emailcsv,https://rowsandall.com/rowers/workout/2478/emailtcx,0,0,2018-04-23 11:00:00+00:00,1017,00:03:55.200000,Firmware 2,,America/New_York,water,80.0,lwt
-223,https://rowsandall.com/rowers/workout/2611/emailcsv,https://rowsandall.com/rowers/workout/2611/emailtcx,0,0,2018-04-23 17:46:25+00:00,13558,00:58:11.900000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-224,https://rowsandall.com/rowers/workout/2465/emailcsv,https://rowsandall.com/rowers/workout/2465/emailtcx,0,0,2018-04-23 20:42:00+00:00,8000,00:36:01.500000,Racice,,Europe/Prague,water,80.0,lwt
-225,https://rowsandall.com/rowers/workout/2610/emailcsv,https://rowsandall.com/rowers/workout/2610/emailtcx,0,0,2018-04-24 12:12:03+00:00,2959,00:16:42.700000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-226,https://rowsandall.com/rowers/workout/2609/emailcsv,https://rowsandall.com/rowers/workout/2609/emailtcx,0,0,2018-04-24 12:32:00+00:00,7516,00:38:49.500000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-227,https://rowsandall.com/rowers/workout/2466/emailcsv,https://rowsandall.com/rowers/workout/2466/emailtcx,0,0,2018-04-24 13:35:30+00:00,9420,00:48:00,,,Europe/Prague,water,80.0,lwt
-228,https://rowsandall.com/rowers/workout/2608/emailcsv,https://rowsandall.com/rowers/workout/2608/emailtcx,0,0,2018-04-25 17:50:26+00:00,10171,01:12:33.600000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-229,https://rowsandall.com/rowers/workout/2470/emailcsv,https://rowsandall.com/rowers/workout/2470/emailtcx,0,0,2018-04-25 22:59:01+00:00,4159,00:26:43.200000,SpeedCoach 7x150m,,America/New_York,water,80.0,lwt
-230,https://rowsandall.com/rowers/workout/2607/emailcsv,https://rowsandall.com/rowers/workout/2607/emailtcx,0,0,2018-04-26 16:18:01+00:00,2016,00:12:30.500000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-231,https://rowsandall.com/rowers/workout/2606/emailcsv,https://rowsandall.com/rowers/workout/2606/emailtcx,0,0,2018-04-26 16:33:00+00:00,4605,00:22:35.700000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-232,https://rowsandall.com/rowers/workout/2605/emailcsv,https://rowsandall.com/rowers/workout/2605/emailtcx,0,0,2018-04-26 16:56:03+00:00,1301,00:07:07.100000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-233,https://rowsandall.com/rowers/workout/2604/emailcsv,https://rowsandall.com/rowers/workout/2604/emailtcx,0,0,2018-04-28 08:02:01+00:00,11924,01:18:20.500000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-234,https://rowsandall.com/rowers/workout/2469/emailcsv,https://rowsandall.com/rowers/workout/2469/emailtcx,0,0,2018-04-29 07:22:01+00:00,8040,00:50:06,Test P,,America/New_York,water,80.0,lwt
-235,https://rowsandall.com/rowers/workout/2603/emailcsv,https://rowsandall.com/rowers/workout/2603/emailtcx,0,0,2018-04-29 07:22:01+00:00,8040,00:50:05.500000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-236,https://rowsandall.com/rowers/workout/2559/emailcsv,https://rowsandall.com/rowers/workout/2559/emailtcx,0,0,2018-05-03 16:02:08+00:00,10909,01:00:35,Intervals Tests (6),imported through email,Europe/Amsterdam,water,80.0,lwt
-237,https://rowsandall.com/rowers/workout/2602/emailcsv,https://rowsandall.com/rowers/workout/2602/emailtcx,0,0,2018-05-04 05:47:04+00:00,3472,00:18:53.700000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-238,https://rowsandall.com/rowers/workout/2479/emailcsv,https://rowsandall.com/rowers/workout/2479/emailtcx,0,0,2018-05-04 06:07:04+00:00,5997,00:25:53.900000,Zip test,imported through email,Europe/Prague,water,80.0,lwt
-239,https://rowsandall.com/rowers/workout/2481/emailcsv,https://rowsandall.com/rowers/workout/2481/emailtcx,0,0,2018-05-04 06:07:04+00:00,5997,00:25:53.900000,Zip test 2,imported through email,Europe/Prague,water,80.0,lwt
-240,https://rowsandall.com/rowers/workout/2483/emailcsv,https://rowsandall.com/rowers/workout/2483/emailtcx,0,0,2018-05-04 06:07:04+00:00,5997,00:25:53.900000,Test Zip 3,imported through email,Europe/Prague,water,80.0,lwt
-241,https://rowsandall.com/rowers/workout/2601/emailcsv,https://rowsandall.com/rowers/workout/2601/emailtcx,0,0,2018-05-04 06:07:04+00:00,5997,00:25:53.900000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-242,https://rowsandall.com/rowers/workout/2860/emailcsv,https://rowsandall.com/rowers/workout/2860/emailtcx,0,0,2018-05-04 06:07:04+00:00,5997,00:25:53.900000,Zip test,"imported through email
- from speedcoach2v2.15 via rowsandall.com",Europe/Prague,water,80.0,hwt
-243,https://rowsandall.com/rowers/workout/2600/emailcsv,https://rowsandall.com/rowers/workout/2600/emailtcx,0,0,2018-05-04 06:35:04+00:00,1009,00:06:44.500000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-244,https://rowsandall.com/rowers/workout/2599/emailcsv,https://rowsandall.com/rowers/workout/2599/emailtcx,0,0,2018-05-05 07:06:02+00:00,11180,01:01:01.600000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-245,https://rowsandall.com/rowers/workout/2598/emailcsv,https://rowsandall.com/rowers/workout/2598/emailtcx,0,0,2018-05-05 08:11:04+00:00,1152,00:06:56.100000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-246,https://rowsandall.com/rowers/workout/2597/emailcsv,https://rowsandall.com/rowers/workout/2597/emailtcx,0,0,2018-05-07 15:41:06+00:00,11019,01:00:40.500000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-247,https://rowsandall.com/rowers/workout/2490/emailcsv,https://rowsandall.com/rowers/workout/2490/emailtcx,0,0,2018-05-10 09:11:24+00:00,15263,01:39:34,Naarden goed,,Europe/Amsterdam,water,80.0,lwt
-248,https://rowsandall.com/rowers/workout/2491/emailcsv,https://rowsandall.com/rowers/workout/2491/emailtcx,0,0,2018-05-10 09:11:24+00:00,7378,00:44:59,Naarden goed (1),,Europe/Amsterdam,water,80.0,lwt
-249,https://rowsandall.com/rowers/workout/2492/emailcsv,https://rowsandall.com/rowers/workout/2492/emailtcx,0,0,2018-05-10 09:56:24+00:00,7876,00:54:33,Naarden goed (2),,Europe/Amsterdam,water,80.0,lwt
-250,https://rowsandall.com/rowers/workout/2596/emailcsv,https://rowsandall.com/rowers/workout/2596/emailtcx,0,0,2018-05-10 16:15:02+00:00,11983,01:01:26,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-251,https://rowsandall.com/rowers/workout/2485/emailcsv,https://rowsandall.com/rowers/workout/2485/emailtcx,0,0,2018-05-10 16:55:01+00:00,8000,00:36:01.500000,6k,,Europe/Prague,water,80.0,lwt
-252,https://rowsandall.com/rowers/workout/2486/emailcsv,https://rowsandall.com/rowers/workout/2486/emailtcx,0,0,2018-05-10 16:55:01+00:00,8000,00:36:01.500000,Racice 2,,Europe/Prague,water,80.0,lwt
-253,https://rowsandall.com/rowers/workout/2488/emailcsv,https://rowsandall.com/rowers/workout/2488/emailtcx,0,0,2018-05-11 07:02:52+00:00,15364,01:22:34,Naarden 1,,Europe/Amsterdam,water,80.0,lwt
-254,https://rowsandall.com/rowers/workout/2504/emailcsv,https://rowsandall.com/rowers/workout/2504/emailtcx,0,0,2018-05-12 10:01:00+00:00,16814,01:42:53,DC,"Summary for your location at 2018-05-12T12:52:00Z: Temperature 21.1C/69.9F. Wind: 3.0 m/s (6.0 kt). Wind Bearing: 30.0 degrees
-Summary for your location at 2018-05-12T10:52:00Z: Temperature 19.4C/66.9F. Wind: 3.0 m/s (6.0 kt). Wind Bearing: 40.0 degrees
-Summary for your location at 2018-05-12T11:52:00Z: Temperature 20.6C/69.0F. Wind: 3.6 m/s (7.0 kt). Wind Bearing: 20.0 degrees
-Summary for your location at 2018-05-12T10:52:26+00:00: Clear. Temperature 64.52F/18.0C. Wind: 0.96 m/s. Wind Bearing: 29 degrees",America/New_York,water,80.0,lwt
-255,https://rowsandall.com/rowers/workout/2931/emailcsv,https://rowsandall.com/rowers/workout/2931/emailtcx,0,0,2018-05-12 14:22:12+00:00,6510,00:46:56,Test P,,Europe/Bratislava,water,80.0,hwt
-256,https://rowsandall.com/rowers/workout/2513/emailcsv,https://rowsandall.com/rowers/workout/2513/emailtcx,0,0,2018-05-13 07:57:02+00:00,4605,00:35:11.700000,Quad,,Europe/Bratislava,water,80.0,lwt
-257,https://rowsandall.com/rowers/workout/2595/emailcsv,https://rowsandall.com/rowers/workout/2595/emailtcx,0,0,2018-05-13 07:57:02+00:00,4605,00:35:11.600000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-258,https://rowsandall.com/rowers/workout/2502/emailcsv,https://rowsandall.com/rowers/workout/2502/emailtcx,0,0,2018-05-13 09:22:49+00:00,973,00:03:53.900000,Completed a workout (generic) 0.6 mi on 05/13/18,,Europe/Bratislava,water,80.0,lwt
-259,https://rowsandall.com/rowers/workout/2503/emailcsv,https://rowsandall.com/rowers/workout/2503/emailtcx,0,0,2018-05-13 09:22:49+00:00,973,00:03:53.900000,Completed a workout (generic) 0.6 mi on 05/13/18,,Europe/Bratislava,water,80.0,lwt
-260,https://rowsandall.com/rowers/workout/2594/emailcsv,https://rowsandall.com/rowers/workout/2594/emailtcx,0,0,2018-05-13 16:50:32+00:00,2723,00:27:17.200000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-261,https://rowsandall.com/rowers/workout/2593/emailcsv,https://rowsandall.com/rowers/workout/2593/emailtcx,0,0,2018-05-13 16:51:01+00:00,5929,00:43:44.500000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-262,https://rowsandall.com/rowers/workout/2855/emailcsv,https://rowsandall.com/rowers/workout/2855/emailtcx,0,0,2018-05-14 13:53:04+00:00,6091,00:25:00.200000,Hradiste,"
- from csv via rowsandall.com",Europe/Prague,water,80.0,lwt
-263,https://rowsandall.com/rowers/workout/2963/emailcsv,https://rowsandall.com/rowers/workout/2963/emailtcx,0,0,2018-05-14 13:53:04+00:00,6091,00:25:00.200000,Hradiste,"
- from csv via rowsandall.com",Europe/Prague,water,80.0,hwt
-264,https://rowsandall.com/rowers/workout/2493/emailcsv,https://rowsandall.com/rowers/workout/2493/emailtcx,0,0,2018-05-15 10:35:00+00:00,10526,00:44:01.700000,Turin,,Europe/Rome,water,80.0,lwt
-265,https://rowsandall.com/rowers/workout/2489/emailcsv,https://rowsandall.com/rowers/workout/2489/emailtcx,0,0,2018-05-17 17:40:00+00:00,15364,01:22:34,Naarden 2,,Europe/Amsterdam,water,80.0,lwt
-266,https://rowsandall.com/rowers/workout/2464/emailcsv,https://rowsandall.com/rowers/workout/2464/emailtcx,0,0,2018-05-18 13:02:00+00:00,6091,00:25:00.200000,Hradiste,"Failed to download METAR data
-Failed to download METAR data
-Failed to download METAR data
-Failed to download METAR data
-Failed to download METAR data",Europe/Prague,water,80.0,lwt
-267,https://rowsandall.com/rowers/workout/2505/emailcsv,https://rowsandall.com/rowers/workout/2505/emailtcx,0,0,2018-05-19 11:55:34+00:00,14274,01:12:33.600000,Roos,,America/New_York,water,80.0,lwt
-268,https://rowsandall.com/rowers/workout/2506/emailcsv,https://rowsandall.com/rowers/workout/2506/emailtcx,0,0,2018-05-19 11:55:34+00:00,7384,00:33:59.800000,Roos (1),,America/New_York,water,80.0,lwt
-269,https://rowsandall.com/rowers/workout/2507/emailcsv,https://rowsandall.com/rowers/workout/2507/emailtcx,0,0,2018-05-19 12:29:34+00:00,6885,00:38:32.200000,Roos (2),,America/New_York,water,80.0,lwt
-270,https://rowsandall.com/rowers/workout/2511/emailcsv,https://rowsandall.com/rowers/workout/2511/emailtcx,0,0,2018-05-27 10:17:01+00:00,10663,00:59:29.700000,Test P,,Europe/Prague,water,80.0,lwt
-271,https://rowsandall.com/rowers/workout/2518/emailcsv,https://rowsandall.com/rowers/workout/2518/emailtcx,0,0,2018-05-27 10:17:01+00:00,10663,00:59:29.700000,dubbel,,Europe/Prague,water,80.0,lwt
-272,https://rowsandall.com/rowers/workout/2592/emailcsv,https://rowsandall.com/rowers/workout/2592/emailtcx,0,0,2018-05-27 10:17:01+00:00,10663,00:59:29.600000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-273,https://rowsandall.com/rowers/workout/2591/emailcsv,https://rowsandall.com/rowers/workout/2591/emailtcx,0,0,2018-05-28 15:11:01+00:00,9642,00:56:16.100000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-274,https://rowsandall.com/rowers/workout/2514/emailcsv,https://rowsandall.com/rowers/workout/2514/emailtcx,0,0,2018-05-30 18:05:25+00:00,11237,01:04:45.500000,Eight,imported through email,Europe/Prague,water,80.0,lwt
-275,https://rowsandall.com/rowers/workout/2516/emailcsv,https://rowsandall.com/rowers/workout/2516/emailtcx,0,0,2018-05-30 18:05:25+00:00,11237,01:04:45.500000,Twee Zonder,imported through email,Europe/Prague,water,80.0,lwt
-276,https://rowsandall.com/rowers/workout/2590/emailcsv,https://rowsandall.com/rowers/workout/2590/emailtcx,0,0,2018-05-30 18:05:25+00:00,11237,01:04:45.500000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-277,https://rowsandall.com/rowers/workout/2512/emailcsv,https://rowsandall.com/rowers/workout/2512/emailtcx,0,0,2018-05-31 16:30:07+00:00,8837,00:47:42.500000,Test,,Europe/Prague,water,80.0,lwt
-278,https://rowsandall.com/rowers/workout/2589/emailcsv,https://rowsandall.com/rowers/workout/2589/emailtcx,0,0,2018-05-31 16:30:07+00:00,8837,00:47:42.500000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-279,https://rowsandall.com/rowers/workout/2508/emailcsv,https://rowsandall.com/rowers/workout/2508/emailtcx,0,0,2018-06-01 07:57:02+00:00,4605,00:35:11.700000,Piestany,,Europe/Bratislava,water,80.0,lwt
-280,https://rowsandall.com/rowers/workout/2510/emailcsv,https://rowsandall.com/rowers/workout/2510/emailtcx,0,0,2018-06-01 08:02:02+00:00,3975,00:30:08.700000,Piestany (2),,Europe/Bratislava,water,80.0,lwt
-281,https://rowsandall.com/rowers/workout/2509/emailcsv,https://rowsandall.com/rowers/workout/2509/emailtcx,0,0,2018-06-01 11:30:07+00:00,8837,00:47:42.500000,Test,,Europe/Prague,water,80.0,lwt
-282,https://rowsandall.com/rowers/workout/2569/emailcsv,https://rowsandall.com/rowers/workout/2569/emailtcx,0,0,2018-06-01 15:00:00+00:00,11237,01:04:45.500000,Acht Intervals,,Europe/Prague,water,80.0,lwt
-283,https://rowsandall.com/rowers/workout/2588/emailcsv,https://rowsandall.com/rowers/workout/2588/emailtcx,0,0,2018-06-02 17:00:07+00:00,12511,01:07:58,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-284,https://rowsandall.com/rowers/workout/2587/emailcsv,https://rowsandall.com/rowers/workout/2587/emailtcx,0,0,2018-06-03 07:57:02+00:00,10830,01:04:35.900000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-285,https://rowsandall.com/rowers/workout/2586/emailcsv,https://rowsandall.com/rowers/workout/2586/emailtcx,0,0,2018-06-03 15:50:25+00:00,6125,00:48:38.600000,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-286,https://rowsandall.com/rowers/workout/2535/emailcsv,https://rowsandall.com/rowers/workout/2535/emailtcx,0,0,2018-06-05 13:07:02+00:00,0,00:05:01,Test - Delete,,Europe/Prague,rower,80.0,lwt
-287,https://rowsandall.com/rowers/workout/2536/emailcsv,https://rowsandall.com/rowers/workout/2536/emailtcx,0,0,2018-06-05 13:07:02+00:00,0,00:05:01,Test Sync - Delete,"
- from tcx via rowsandall.com",Europe/Prague,rower,80.0,lwt
-288,https://rowsandall.com/rowers/workout/2537/emailcsv,https://rowsandall.com/rowers/workout/2537/emailtcx,0,0,2018-06-05 13:07:02+00:00,0,00:05:01,Test P,"
- from tcx via rowsandall.com",Europe/Prague,rower,80.0,lwt
-289,https://rowsandall.com/rowers/workout/2538/emailcsv,https://rowsandall.com/rowers/workout/2538/emailtcx,0,0,2018-06-05 13:07:02+00:00,0,00:05:01,Test P,imported through email,Europe/Prague,rower,80.0,lwt
-290,https://rowsandall.com/rowers/workout/2539/emailcsv,https://rowsandall.com/rowers/workout/2539/emailtcx,0,0,2018-06-05 13:07:02+00:00,0,00:05:01,Test P,"imported through email
- from tcx via rowsandall.com",Europe/Prague,rower,80.0,lwt
-291,https://rowsandall.com/rowers/workout/2540/emailcsv,https://rowsandall.com/rowers/workout/2540/emailtcx,0,0,2018-06-05 13:07:02+00:00,0,00:05:01,Workout from Background Queue,imported through email,Europe/Prague,rower,80.0,lwt
-292,https://rowsandall.com/rowers/workout/2624/emailcsv,https://rowsandall.com/rowers/workout/2624/emailtcx,0,0,2018-06-05 13:51:01.900000+00:00,12744,01:08:22.100000,imported through ema,imported through email,Europe/Prague,water,80.0,lwt
-293,https://rowsandall.com/rowers/workout/2534/emailcsv,https://rowsandall.com/rowers/workout/2534/emailtcx,0,0,2018-06-05 14:05:02+00:00,0,00:01:33,Import from Polar Flow,imported through email,Europe/Prague,rower,80.0,lwt
-294,https://rowsandall.com/rowers/workout/2519/emailcsv,https://rowsandall.com/rowers/workout/2519/emailtcx,0,0,2018-06-05 14:09:57+00:00,0,00:03:38,TCX from Polar API,,Europe/Prague,water,80.0,lwt
-295,https://rowsandall.com/rowers/workout/2546/emailcsv,https://rowsandall.com/rowers/workout/2546/emailtcx,0,0,2018-06-05 15:51:01+00:00,12744,01:08:22.200000,8x glad,,Europe/Prague,water,80.0,lwt
-296,https://rowsandall.com/rowers/workout/2547/emailcsv,https://rowsandall.com/rowers/workout/2547/emailtcx,0,0,2018-06-05 15:51:01+00:00,12746,01:08:22.200000,1x glad,,Europe/Prague,c-boat,80.0,lwt
-297,https://rowsandall.com/rowers/workout/2548/emailcsv,https://rowsandall.com/rowers/workout/2548/emailtcx,0,68,2018-06-05 15:51:01+00:00,12744,01:08:22.200000,1x glad,,Europe/Prague,water,80.0,lwt
-298,https://rowsandall.com/rowers/workout/2549/emailcsv,https://rowsandall.com/rowers/workout/2549/emailtcx,0,0,2018-06-05 15:51:01+00:00,12746,01:08:22.200000,test,,Europe/Prague,water,80.0,lwt
-299,https://rowsandall.com/rowers/workout/2550/emailcsv,https://rowsandall.com/rowers/workout/2550/emailtcx,0,0,2018-06-05 15:51:01+00:00,12746,01:08:22.200000,test tcx,,Europe/Prague,water,80.0,lwt
-300,https://rowsandall.com/rowers/workout/2552/emailcsv,https://rowsandall.com/rowers/workout/2552/emailtcx,0,0,2018-06-05 15:51:01+00:00,6522,00:33:00,8x glad (1),,Europe/Prague,water,80.0,lwt
-301,https://rowsandall.com/rowers/workout/2585/emailcsv,https://rowsandall.com/rowers/workout/2585/emailtcx,0,0,2018-06-05 15:51:01+00:00,12744,01:08:22.100000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-302,https://rowsandall.com/rowers/workout/2553/emailcsv,https://rowsandall.com/rowers/workout/2553/emailtcx,0,0,2018-06-05 16:24:01+00:00,6213,00:35:19.500000,8x glad (2),,Europe/Prague,water,80.0,lwt
-303,https://rowsandall.com/rowers/workout/2584/emailcsv,https://rowsandall.com/rowers/workout/2584/emailtcx,0,0,2018-06-06 17:40:24+00:00,5273,00:42:59,Imported workout,imported from Concept2 log,UTC,rower,80.0,lwt
-304,https://rowsandall.com/rowers/workout/2545/emailcsv,https://rowsandall.com/rowers/workout/2545/emailtcx,0,0,2018-06-08 07:25:33+00:00,1994,00:01:59.400000,Test,,Europe/Prague,rower,80.0,hwt
-305,https://rowsandall.com/rowers/workout/2560/emailcsv,https://rowsandall.com/rowers/workout/2560/emailtcx,0,0,2018-06-11 15:21:01+00:00,10369,00:56:21.400000,Intervals Tests (7),imported through email,Europe/Prague,water,80.0,lwt
-306,https://rowsandall.com/rowers/workout/2568/emailcsv,https://rowsandall.com/rowers/workout/2568/emailtcx,0,11,2018-06-11 15:21:01+00:00,10369,00:56:21.400000,3/2/1,"
- 5x5min/5min
- 5x5min/5min",Europe/Prague,water,80.0,lwt
-307,https://rowsandall.com/rowers/workout/2583/emailcsv,https://rowsandall.com/rowers/workout/2583/emailtcx,0,0,2018-06-11 15:21:01+00:00,10369,00:56:21.400000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-308,https://rowsandall.com/rowers/workout/2554/emailcsv,https://rowsandall.com/rowers/workout/2554/emailtcx,0,0,2018-06-13 14:18:19+00:00,16543,01:30:01.300000,Intervals Tests,,America/New_York,rower,80.0,lwt
-309,https://rowsandall.com/rowers/workout/2555/emailcsv,https://rowsandall.com/rowers/workout/2555/emailtcx,0,0,2018-06-13 14:18:35+00:00,12205,01:03:29.500000,Intervals Tests (2),,America/New_York,rower,80.0,lwt
-310,https://rowsandall.com/rowers/workout/2556/emailcsv,https://rowsandall.com/rowers/workout/2556/emailtcx,0,0,2018-06-13 14:18:48+00:00,9016,00:48:28.100000,Intervals Tests (3),"
- 9x1km",America/New_York,rower,80.0,lwt
-311,https://rowsandall.com/rowers/workout/2557/emailcsv,https://rowsandall.com/rowers/workout/2557/emailtcx,0,0,2018-06-13 14:19:01+00:00,4789,00:22:05,Intervals Tests (4),,America/New_York,rower,80.0,lwt
-312,https://rowsandall.com/rowers/workout/2558/emailcsv,https://rowsandall.com/rowers/workout/2558/emailtcx,0,0,2018-06-13 14:19:19+00:00,0,00:22:54,Intervals Tests (5),,Europe/Prague,rower,80.0,lwt
-313,https://rowsandall.com/rowers/workout/2582/emailcsv,https://rowsandall.com/rowers/workout/2582/emailtcx,0,0,2018-06-13 16:11:02+00:00,4191,00:23:36.400000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-314,https://rowsandall.com/rowers/workout/2581/emailcsv,https://rowsandall.com/rowers/workout/2581/emailtcx,0,0,2018-06-15 08:05:04+00:00,7301,00:39:44.100000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-315,https://rowsandall.com/rowers/workout/2580/emailcsv,https://rowsandall.com/rowers/workout/2580/emailtcx,0,0,2018-06-16 08:04:00+00:00,5182,00:40:48.100000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-316,https://rowsandall.com/rowers/workout/2579/emailcsv,https://rowsandall.com/rowers/workout/2579/emailtcx,0,0,2018-06-16 13:17:06+00:00,8196,00:52:10.500000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-317,https://rowsandall.com/rowers/workout/2950/emailcsv,https://rowsandall.com/rowers/workout/2950/emailtcx,0,0,2018-06-17 10:23:24+00:00,6004,01:00:54,Lunch Run,,Europe/Vienna,water,80.0,hwt
-318,https://rowsandall.com/rowers/workout/2954/emailcsv,https://rowsandall.com/rowers/workout/2954/emailtcx,0,0,2018-06-17 10:23:24+00:00,6004,01:00:54,Lunch Run,,Europe/Vienna,water,80.0,hwt
-319,https://rowsandall.com/rowers/workout/3035/emailcsv,https://rowsandall.com/rowers/workout/3035/emailtcx,0,17,2018-06-17 10:23:24+00:00,6004,01:00:54,Lunch Run, ,Europe/Vienna,other,80.0,hwt
-320,https://rowsandall.com/rowers/workout/2578/emailcsv,https://rowsandall.com/rowers/workout/2578/emailtcx,0,0,2018-06-18 16:05:05+00:00,10313,00:55:54.900000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-321,https://rowsandall.com/rowers/workout/2948/emailcsv,https://rowsandall.com/rowers/workout/2948/emailtcx,0,0,2018-06-18 16:05:05+00:00,10313,00:55:54,Steady,,Europe/Prague,water,80.0,hwt
-322,https://rowsandall.com/rowers/workout/2952/emailcsv,https://rowsandall.com/rowers/workout/2952/emailtcx,0,0,2018-06-18 16:05:05+00:00,10313,00:55:54,Steady,,Europe/Prague,water,80.0,hwt
-323,https://rowsandall.com/rowers/workout/2573/emailcsv,https://rowsandall.com/rowers/workout/2573/emailtcx,0,0,2018-06-19 05:57:02+00:00,10437,00:56:06.900000,Pink,,Europe/Prague,water,80.0,lwt
-324,https://rowsandall.com/rowers/workout/2577/emailcsv,https://rowsandall.com/rowers/workout/2577/emailtcx,0,0,2018-06-19 05:57:02+00:00,10437,00:56:06.900000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-325,https://rowsandall.com/rowers/workout/2946/emailcsv,https://rowsandall.com/rowers/workout/2946/emailtcx,0,0,2018-06-19 05:57:04+00:00,10437,00:56:04,3x6min,,Europe/Prague,water,80.0,hwt
-326,https://rowsandall.com/rowers/workout/2570/emailcsv,https://rowsandall.com/rowers/workout/2570/emailtcx,0,0,2018-06-19 15:11:14.220000+00:00,7538,00:56:14.600000,Test,,Europe/Vienna,water,80.0,lwt
-327,https://rowsandall.com/rowers/workout/2571/emailcsv,https://rowsandall.com/rowers/workout/2571/emailtcx,0,0,2018-06-20 18:24:08+00:00,7538,00:56:14.500000,Ritmo,,Europe/Vienna,water,80.0,lwt
-328,https://rowsandall.com/rowers/workout/2858/emailcsv,https://rowsandall.com/rowers/workout/2858/emailtcx,0,0,2018-06-22 04:33:02.500000+00:00,3344,00:16:55.700000,imported through ema,imported through email,Europe/Prague,water,80.0,hwt
-329,https://rowsandall.com/rowers/workout/2576/emailcsv,https://rowsandall.com/rowers/workout/2576/emailtcx,0,0,2018-06-22 05:41:04+00:00,9298,00:50:44,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-330,https://rowsandall.com/rowers/workout/2944/emailcsv,https://rowsandall.com/rowers/workout/2944/emailtcx,0,0,2018-06-22 05:41:04+00:00,9298,00:50:44,Steady,,Europe/Prague,water,80.0,hwt
-331,https://rowsandall.com/rowers/workout/2575/emailcsv,https://rowsandall.com/rowers/workout/2575/emailtcx,0,0,2018-06-22 06:33:01+00:00,3344,00:16:55.700000,Imported workout,imported from Concept2 log,UTC,water,80.0,lwt
-332,https://rowsandall.com/rowers/workout/2942/emailcsv,https://rowsandall.com/rowers/workout/2942/emailtcx,27,11,2018-06-22 06:33:02+00:00,3344,00:16:54,Steady (2),,Europe/Prague,water,80.0,hwt
-333,https://rowsandall.com/rowers/workout/2940/emailcsv,https://rowsandall.com/rowers/workout/2940/emailtcx,0,0,2018-06-22 10:45:04+00:00,7540,00:56:14,test delete,,Europe/Vienna,water,80.0,hwt
-334,https://rowsandall.com/rowers/workout/2725/emailcsv,https://rowsandall.com/rowers/workout/2725/emailtcx,0,0,2018-06-22 12:17:56+00:00,15642,01:15:00,Mike,"
- 3x20min/5min",Europe/Prague,water,80.0,lwt
-335,https://rowsandall.com/rowers/workout/2726/emailcsv,https://rowsandall.com/rowers/workout/2726/emailtcx,0,0,2018-06-22 12:17:56+00:00,15642,01:15:00,Mike test,,Europe/Prague,water,80.0,lwt
-336,https://rowsandall.com/rowers/workout/2848/emailcsv,https://rowsandall.com/rowers/workout/2848/emailtcx,0,0,2018-06-24 05:34:07+00:00,10194,00:57:48.900000,Imported,,Europe/Prague,water,80.0,lwt
-337,https://rowsandall.com/rowers/workout/2849/emailcsv,https://rowsandall.com/rowers/workout/2849/emailtcx,0,0,2018-06-24 05:34:07.200000+00:00,10194,00:57:48.900000,Imported,,Europe/Prague,water,80.0,lwt
-338,https://rowsandall.com/rowers/workout/2957/emailcsv,https://rowsandall.com/rowers/workout/2957/emailtcx,0,0,2018-06-24 05:34:07.200000+00:00,10194,00:57:48.900000,Imported,,Europe/Prague,water,80.0,hwt
-339,https://rowsandall.com/rowers/workout/2938/emailcsv,https://rowsandall.com/rowers/workout/2938/emailtcx,0,0,2018-06-24 07:34:07+00:00,10194,00:57:43,Double,,Europe/Prague,water,80.0,hwt
-340,https://rowsandall.com/rowers/workout/3059/emailcsv,https://rowsandall.com/rowers/workout/3059/emailtcx,0,0,2018-06-26 15:06:01+00:00,10393,01:00:55.900000,C2 Import Workout from 2018-06-26 15:06:01+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-341,https://rowsandall.com/rowers/workout/2936/emailcsv,https://rowsandall.com/rowers/workout/2936/emailtcx,42,30,2018-06-26 15:06:04+00:00,5651,00:31:24,Sprintervals,,Europe/Prague,water,80.0,hwt
-342,https://rowsandall.com/rowers/workout/2934/emailcsv,https://rowsandall.com/rowers/workout/2934/emailtcx,0,0,2018-06-26 15:38:08+00:00,1056,00:05:12,Sprintervals (2),,Europe/Brussels,water,80.0,hwt
-343,https://rowsandall.com/rowers/workout/2932/emailcsv,https://rowsandall.com/rowers/workout/2932/emailtcx,0,0,2018-06-26 15:44:06+00:00,3684,00:22:50,Sprintervals (3),,Europe/Prague,water,80.0,hwt
-344,https://rowsandall.com/rowers/workout/2959/emailcsv,https://rowsandall.com/rowers/workout/2959/emailtcx,160,38,2018-06-30 05:31:02.200000+00:00,13878,01:21:16.600000,,"
- from speedcoach2v2.15 via rowsandall.com",Europe/Prague,water,80.0,hwt
-345,https://rowsandall.com/rowers/workout/2958/emailcsv,https://rowsandall.com/rowers/workout/2958/emailtcx,0,0,2018-06-30 07:31:01+00:00,13878,01:21:16.600000,C2 Import Workout from 2018-06-30 07:31:01+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-346,https://rowsandall.com/rowers/workout/3030/emailcsv,https://rowsandall.com/rowers/workout/3030/emailtcx,80,6031,2018-07-01 11:57:30+00:00,12879,00:57:00,Ride to pub, ,Europe/Prague,other,80.0,hwt
-347,https://rowsandall.com/rowers/workout/3031/emailcsv,https://rowsandall.com/rowers/workout/3031/emailtcx,0,0,2018-07-02 16:21:01+00:00,12532,01:09:16.500000,Test P,,Europe/Prague,water,80.0,hwt
-348,https://rowsandall.com/rowers/workout/3058/emailcsv,https://rowsandall.com/rowers/workout/3058/emailtcx,0,0,2018-07-02 16:21:01+00:00,2858,00:15:40.600000,C2 Import Workout from 2018-07-02 16:21:01+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-349,https://rowsandall.com/rowers/workout/3063/emailcsv,https://rowsandall.com/rowers/workout/3063/emailtcx,120,79,2018-07-02 16:21:01+00:00,12532,01:09:16.500000,Test Strava Export,,Europe/Prague,water,80.0,hwt
-350,https://rowsandall.com/rowers/workout/3064/emailcsv,https://rowsandall.com/rowers/workout/3064/emailtcx,120,79,2018-07-02 16:21:01+00:00,12532,01:09:16.500000,Test Strava Export,,Europe/Prague,water,80.0,hwt
-351,https://rowsandall.com/rowers/workout/3065/emailcsv,https://rowsandall.com/rowers/workout/3065/emailtcx,0,0,2018-07-02 16:21:01+00:00,12532,01:09:16.500000,Test Strava Export,,Europe/Prague,water,80.0,hwt
-352,https://rowsandall.com/rowers/workout/3066/emailcsv,https://rowsandall.com/rowers/workout/3066/emailtcx,120,79,2018-07-02 16:21:01+00:00,12532,01:09:16.500000,Test Strava Export,,Europe/Prague,water,80.0,hwt
-353,https://rowsandall.com/rowers/workout/3068/emailcsv,https://rowsandall.com/rowers/workout/3068/emailtcx,0,0,2018-07-02 16:21:01+00:00,12532,01:09:16.500000,Should be exported To Strava,,Europe/Prague,water,80.0,hwt
-354,https://rowsandall.com/rowers/workout/3070/emailcsv,https://rowsandall.com/rowers/workout/3070/emailtcx,120,79,2018-07-02 16:21:01+00:00,12532,01:09:16.500000,Should Not Be Exported To Strava,,Europe/Prague,water,80.0,hwt
-355,https://rowsandall.com/rowers/workout/3057/emailcsv,https://rowsandall.com/rowers/workout/3057/emailtcx,0,0,2018-07-02 16:40:02+00:00,2001,00:08:29,C2 Import Workout from 2018-07-02 16:40:02+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-356,https://rowsandall.com/rowers/workout/3056/emailcsv,https://rowsandall.com/rowers/workout/3056/emailtcx,0,0,2018-07-02 16:50:02+00:00,2136,00:09:16.200000,C2 Import Workout from 2018-07-02 16:50:02+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-357,https://rowsandall.com/rowers/workout/3055/emailcsv,https://rowsandall.com/rowers/workout/3055/emailtcx,0,0,2018-07-02 17:01:02+00:00,2058,00:08:38.800000,C2 Import Workout from 2018-07-02 17:01:02+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-358,https://rowsandall.com/rowers/workout/3008/emailcsv,https://rowsandall.com/rowers/workout/3008/emailtcx,22,0,2018-07-02 17:01:05+00:00,2058,00:08:35,2ks with focus (4),,Europe/Prague,water,80.0,hwt
-359,https://rowsandall.com/rowers/workout/3028/emailcsv,https://rowsandall.com/rowers/workout/3028/emailtcx,22,0,2018-07-02 17:01:05+00:00,2058,00:08:35,2ks with focus (4),,Europe/Prague,water,80.0,hwt
-360,https://rowsandall.com/rowers/workout/3054/emailcsv,https://rowsandall.com/rowers/workout/3054/emailtcx,0,0,2018-07-02 17:11:02+00:00,2149,00:09:47.300000,C2 Import Workout from 2018-07-02 17:11:02+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-361,https://rowsandall.com/rowers/workout/3006/emailcsv,https://rowsandall.com/rowers/workout/3006/emailtcx,27,0,2018-07-02 17:11:05+00:00,2149,00:09:44,2ks with focus (5),,Europe/Prague,water,80.0,hwt
-362,https://rowsandall.com/rowers/workout/3026/emailcsv,https://rowsandall.com/rowers/workout/3026/emailtcx,27,0,2018-07-02 17:11:05+00:00,2149,00:09:44,2ks with focus (5),,Europe/Prague,water,80.0,hwt
-363,https://rowsandall.com/rowers/workout/3053/emailcsv,https://rowsandall.com/rowers/workout/3053/emailtcx,0,0,2018-07-02 17:24:02+00:00,1328,00:06:15.500000,C2 Import Workout from 2018-07-02 17:24:02+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-364,https://rowsandall.com/rowers/workout/3004/emailcsv,https://rowsandall.com/rowers/workout/3004/emailtcx,10,0,2018-07-02 17:24:05+00:00,1328,00:06:12,2ks with focus (6),,Europe/Prague,water,80.0,hwt
-365,https://rowsandall.com/rowers/workout/3024/emailcsv,https://rowsandall.com/rowers/workout/3024/emailtcx,10,0,2018-07-02 17:24:05+00:00,1328,00:06:12,2ks with focus (6),,Europe/Prague,water,80.0,hwt
-366,https://rowsandall.com/rowers/workout/2964/emailcsv,https://rowsandall.com/rowers/workout/2964/emailtcx,0,0,2018-07-04 15:06:42+00:00,7350,00:31:07,Test,,Europe/Prague,rower,80.0,hwt
-367,https://rowsandall.com/rowers/workout/2965/emailcsv,https://rowsandall.com/rowers/workout/2965/emailtcx,0,103,2018-07-04 16:19:01+00:00,10471,01:00:27.200000,Test TRIMP,,Europe/Prague,water,80.0,hwt
-368,https://rowsandall.com/rowers/workout/2966/emailcsv,https://rowsandall.com/rowers/workout/2966/emailtcx,0,98,2018-07-04 16:19:01+00:00,10471,01:00:27.200000,Test Rscore,,Europe/Prague,water,80.0,hwt
-369,https://rowsandall.com/rowers/workout/3052/emailcsv,https://rowsandall.com/rowers/workout/3052/emailtcx,0,0,2018-07-04 16:19:01+00:00,10471,01:00:27.100000,C2 Import Workout from 2018-07-04 16:19:01+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-370,https://rowsandall.com/rowers/workout/2967/emailcsv,https://rowsandall.com/rowers/workout/2967/emailtcx,0,96,2018-07-04 16:19:02+00:00,10471,01:00:26,Startjes,"
- from csv via rowsandall.com",Europe/Prague,water,80.0,hwt
-371,https://rowsandall.com/rowers/workout/3002/emailcsv,https://rowsandall.com/rowers/workout/3002/emailtcx,0,98,2018-07-04 16:19:02+00:00,10471,01:00:26,Startjes,,Europe/Prague,water,80.0,hwt
-372,https://rowsandall.com/rowers/workout/3022/emailcsv,https://rowsandall.com/rowers/workout/3022/emailtcx,0,98,2018-07-04 16:19:02+00:00,10471,01:00:26,Startjes,,Europe/Prague,water,80.0,hwt
-373,https://rowsandall.com/rowers/workout/3051/emailcsv,https://rowsandall.com/rowers/workout/3051/emailtcx,0,0,2018-07-07 07:43:02+00:00,2874,00:16:39.700000,C2 Import Workout from 2018-07-07 07:43:02+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-374,https://rowsandall.com/rowers/workout/3000/emailcsv,https://rowsandall.com/rowers/workout/3000/emailtcx,17,0,2018-07-07 07:43:03+00:00,2874,00:16:38,2x race prep,,Europe/Prague,water,80.0,hwt
-375,https://rowsandall.com/rowers/workout/3020/emailcsv,https://rowsandall.com/rowers/workout/3020/emailtcx,17,0,2018-07-07 07:43:03+00:00,2874,00:16:38,2x race prep,,Europe/Prague,water,80.0,hwt
-376,https://rowsandall.com/rowers/workout/3050/emailcsv,https://rowsandall.com/rowers/workout/3050/emailtcx,0,0,2018-07-07 08:01:01+00:00,743,00:02:45.500000,C2 Import Workout from 2018-07-07 08:01:01+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-377,https://rowsandall.com/rowers/workout/2998/emailcsv,https://rowsandall.com/rowers/workout/2998/emailtcx,2,0,2018-07-07 08:01:02+00:00,743,00:02:44,2x race prep (2),,Europe/Prague,bike,80.0,hwt
-378,https://rowsandall.com/rowers/workout/3018/emailcsv,https://rowsandall.com/rowers/workout/3018/emailtcx,2,0,2018-07-07 08:01:02+00:00,743,00:02:44,2x race prep (2),,Europe/Prague,water,80.0,hwt
-379,https://rowsandall.com/rowers/workout/3049/emailcsv,https://rowsandall.com/rowers/workout/3049/emailtcx,0,0,2018-07-07 08:05:03+00:00,2827,00:15:21.800000,C2 Import Workout from 2018-07-07 08:05:03+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-380,https://rowsandall.com/rowers/workout/2996/emailcsv,https://rowsandall.com/rowers/workout/2996/emailtcx,21,0,2018-07-07 08:05:06+00:00,2827,00:15:18,2x race prep (3),,Europe/Prague,water,80.0,hwt
-381,https://rowsandall.com/rowers/workout/3016/emailcsv,https://rowsandall.com/rowers/workout/3016/emailtcx,21,0,2018-07-07 08:05:06+00:00,2827,00:15:18,2x race prep (3),,Europe/Prague,water,80.0,hwt
-382,https://rowsandall.com/rowers/workout/3048/emailcsv,https://rowsandall.com/rowers/workout/3048/emailtcx,0,0,2018-07-07 08:22:01+00:00,749,00:03:12.500000,C2 Import Workout from 2018-07-07 08:22:01+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-383,https://rowsandall.com/rowers/workout/2994/emailcsv,https://rowsandall.com/rowers/workout/2994/emailtcx,4,0,2018-07-07 08:22:02+00:00,749,00:03:11,2x race prep (4),,Europe/Prague,water,80.0,hwt
-384,https://rowsandall.com/rowers/workout/3014/emailcsv,https://rowsandall.com/rowers/workout/3014/emailtcx,4,0,2018-07-07 08:22:02+00:00,749,00:03:11,2x race prep (4),,Europe/Prague,water,80.0,hwt
-385,https://rowsandall.com/rowers/workout/3047/emailcsv,https://rowsandall.com/rowers/workout/3047/emailtcx,0,0,2018-07-07 08:27:03+00:00,2058,00:11:55.800000,C2 Import Workout from 2018-07-07 08:27:03+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-386,https://rowsandall.com/rowers/workout/2992/emailcsv,https://rowsandall.com/rowers/workout/2992/emailtcx,13,14,2018-07-07 08:27:06+00:00,2058,00:11:52,2x race prep (5),,Europe/Prague,water,75.0,hwt
-387,https://rowsandall.com/rowers/workout/3012/emailcsv,https://rowsandall.com/rowers/workout/3012/emailtcx,13,15,2018-07-07 08:27:06+00:00,2058,00:11:52,2x race prep (5),,Europe/Prague,water,80.0,hwt
-388,https://rowsandall.com/rowers/workout/2969/emailcsv,https://rowsandall.com/rowers/workout/2969/emailtcx,100,116,2018-07-08 13:17:02+00:00,10372,01:00:18.100000,HRTSS,,Europe/Prague,water,80.0,hwt
-389,https://rowsandall.com/rowers/workout/3046/emailcsv,https://rowsandall.com/rowers/workout/3046/emailtcx,0,0,2018-07-08 13:17:02+00:00,10372,01:00:18,C2 Import Workout from 2018-07-08 13:17:02+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-390,https://rowsandall.com/rowers/workout/3034/emailcsv,https://rowsandall.com/rowers/workout/3034/emailtcx,0,0,2018-07-08 13:17:08+00:00,10372,01:00:12,Tempovky,,Europe/Prague,water,80.0,hwt
-391,https://rowsandall.com/rowers/workout/3045/emailcsv,https://rowsandall.com/rowers/workout/3045/emailtcx,0,0,2018-07-13 13:08:00+00:00,2481,00:13:41,C2 Import Workout from 2018-07-13 13:08:00+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-392,https://rowsandall.com/rowers/workout/3044/emailcsv,https://rowsandall.com/rowers/workout/3044/emailtcx,0,0,2018-07-13 13:23:01+00:00,4085,00:22:09.200000,C2 Import Workout from 2018-07-13 13:23:01+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-393,https://rowsandall.com/rowers/workout/3043/emailcsv,https://rowsandall.com/rowers/workout/3043/emailtcx,0,0,2018-07-14 08:59:02+00:00,7051,00:50:00.500000,C2 Import Workout from 2018-07-14 08:59:02+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-394,https://rowsandall.com/rowers/workout/3042/emailcsv,https://rowsandall.com/rowers/workout/3042/emailtcx,0,0,2018-07-14 13:33:00+00:00,4471,00:51:42.100000,C2 Import Workout from 2018-07-14 13:33:00+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-395,https://rowsandall.com/rowers/workout/3041/emailcsv,https://rowsandall.com/rowers/workout/3041/emailtcx,0,0,2018-07-14 15:48:01+00:00,4486,00:56:58.100000,C2 Import Workout from 2018-07-14 15:48:01+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-396,https://rowsandall.com/rowers/workout/3040/emailcsv,https://rowsandall.com/rowers/workout/3040/emailtcx,0,0,2018-07-15 06:10:01+00:00,4233,00:29:17,C2 Import Workout from 2018-07-15 06:10:01+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-397,https://rowsandall.com/rowers/workout/3039/emailcsv,https://rowsandall.com/rowers/workout/3039/emailtcx,0,0,2018-07-15 09:01:01+00:00,4978,00:41:45,C2 Import Workout from 2018-07-15 09:01:01+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-398,https://rowsandall.com/rowers/workout/3038/emailcsv,https://rowsandall.com/rowers/workout/3038/emailtcx,0,0,2018-07-18 05:00:01+00:00,11159,00:59:58,C2 Import Workout from 2018-07-18 05:00:01+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-399,https://rowsandall.com/rowers/workout/3037/emailcsv,https://rowsandall.com/rowers/workout/3037/emailtcx,0,0,2018-07-20 09:29:01+00:00,8436,00:45:44.500000,C2 Import Workout from 2018-07-20 09:29:01+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-400,https://rowsandall.com/rowers/workout/3036/emailcsv,https://rowsandall.com/rowers/workout/3036/emailtcx,0,0,2018-07-21 05:13:03+00:00,9639,00:54:19.500000,C2 Import Workout from 2018-07-21 05:13:03+00:00,imported from Concept2 log,UTC,water,80.0,lwt
-401,https://rowsandall.com/rowers/workout/3061/emailcsv,https://rowsandall.com/rowers/workout/3061/emailtcx,77,43,2018-08-17 05:16:03+00:00,8315,00:45:11.400000,Brnenske 2k,,Europe/Prague,water,80.0,hwt
-402,https://rowsandall.com/rowers/workout/3075/emailcsv,https://rowsandall.com/rowers/workout/3075/emailtcx,83,28,2018-08-18 07:54:04+00:00,9590,00:55:08,Technique 2x, ,Europe/Prague,water,80.0,hwt
-403,https://rowsandall.com/rowers/workout/3074/emailcsv,https://rowsandall.com/rowers/workout/3074/emailtcx,94,17,2018-08-26 22:00:01.500000+00:00,9903,00:54:36,Imported,,Europe/Prague,bike,80.0,hwt
-404,https://rowsandall.com/rowers/workout/3076/emailcsv,https://rowsandall.com/rowers/workout/3076/emailtcx,94,1104,2018-08-26 22:00:01.500000+00:00,9903,00:54:36,Imported,,Europe/Prague,bike,80.0,hwt
-405,https://rowsandall.com/rowers/workout/3072/emailcsv,https://rowsandall.com/rowers/workout/3072/emailtcx,0,0,2018-08-27 14:36:47+00:00,5855,00:14:58.700000,Bike Erg,,Europe/Prague,bikeerg,80.0,hwt
-406,https://rowsandall.com/rowers/workout/3073/emailcsv,https://rowsandall.com/rowers/workout/3073/emailtcx,15,4,2018-08-27 14:36:47+00:00,5855,00:14:58.700000,Bike Erg,,Europe/Prague,bike,80.0,hwt
-407,https://rowsandall.com/rowers/workout/3077/emailcsv,https://rowsandall.com/rowers/workout/3077/emailtcx,0,51,2018-09-11 05:31:02+00:00,7490,00:35:07.500000,7.5k,,Europe/Prague,water,80.0,hwt
-408,https://rowsandall.com/rowers/workout/3080/emailcsv,https://rowsandall.com/rowers/workout/3080/emailtcx,0,0,2018-09-12 04:17:04+00:00,5921,00:34:50,Sofia part II, ,Europe/Sofia,other,80.0,hwt
-409,https://rowsandall.com/rowers/workout/3079/emailcsv,https://rowsandall.com/rowers/workout/3079/emailtcx,87,60,2018-09-13 12:15:58+00:00,23476,00:59:59.700000,Mike 2,,Europe/Prague,rower,80.0,hwt
-410,https://rowsandall.com/rowers/workout/3078/emailcsv,https://rowsandall.com/rowers/workout/3078/emailtcx,94,59,2018-09-14 13:02:04+00:00,24267,00:59:57.200000,Mike,,Europe/Prague,rower,80.0,hwt
From 73bf96d8ba32abcdefd9e16b2c4ebabe00201095 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Thu, 2 Jan 2020 21:48:33 +0100
Subject: [PATCH 13/57] removed secrets from docker image
---
.dockerignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/.dockerignore b/.dockerignore
index 5ceb3864..9b34d71a 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1 +1,2 @@
venv
+config.yaml
From 65786061e8066b676395ce3e59d91217c3837348 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Thu, 2 Jan 2020 22:04:33 +0100
Subject: [PATCH 14/57] dockerfile changes
---
Dockerfile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Dockerfile b/Dockerfile
index 09dc421d..acece889 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,9 @@
FROM debian
+RUN apt-get update
+RUN apt-get install -y default-libmysqlclient-dev
RUN apt-get update && apt-get install \
-y --no-install-recommends python3 python3-virtualenv
+RUN apt-get update && apt-get install libssl-dev
RUN python3 -m virtualenv --python=/usr/bin/python3 /opt/venv
COPY ./requirements.txt /usr/src/app/
WORKDIR /usr/src/app/
From 44a283cc5693f1e328df0cf8d0bc51c4bc9e9e2c Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Thu, 2 Jan 2020 22:16:51 +0100
Subject: [PATCH 15/57] further dockerfile tuning
---
Dockerfile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Dockerfile b/Dockerfile
index acece889..7f1e3605 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,8 @@
FROM debian
RUN apt-get update
RUN apt-get install -y default-libmysqlclient-dev
+RUN apt-get install -y postgresql postgresql-contrib
+RUN apt-get install gcc musl-dev postgresql-dev
RUN apt-get update && apt-get install \
-y --no-install-recommends python3 python3-virtualenv
RUN apt-get update && apt-get install libssl-dev
From e49cfd837aafc5fdbf251611548ba930f63e6fc3 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Thu, 2 Jan 2020 22:19:03 +0100
Subject: [PATCH 16/57] docker
---
Dockerfile | 1 -
1 file changed, 1 deletion(-)
diff --git a/Dockerfile b/Dockerfile
index 7f1e3605..d59b0760 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -2,7 +2,6 @@ FROM debian
RUN apt-get update
RUN apt-get install -y default-libmysqlclient-dev
RUN apt-get install -y postgresql postgresql-contrib
-RUN apt-get install gcc musl-dev postgresql-dev
RUN apt-get update && apt-get install \
-y --no-install-recommends python3 python3-virtualenv
RUN apt-get update && apt-get install libssl-dev
From 42d13a90b5bf371c01e6b96373ba3b149dde56ba Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Fri, 3 Jan 2020 08:29:51 +0100
Subject: [PATCH 17/57] fixed bug in rower stats (gauges)
---
rowers/templates/embedded_video.html | 50 ++++++++++++++--------------
rowers/templatetags/rowerfilters.py | 10 ++++--
2 files changed, 33 insertions(+), 27 deletions(-)
diff --git a/rowers/templates/embedded_video.html b/rowers/templates/embedded_video.html
index 7d66b3de..82d6346b 100644
--- a/rowers/templates/embedded_video.html
+++ b/rowers/templates/embedded_video.html
@@ -1,4 +1,4 @@
-{% extends "newbase.html" %}
+workout.user{% extends "newbase.html" %}
{% load staticfiles %}
{% load rowerfilters %}
{% load i18n %}
@@ -453,36 +453,36 @@ function copyText() {
set_basic();
{% endif %}
{% if 'forcepower' in metricsgroups %}
- poweroptions.max = {{ rower.pw_an|add:100|round100 }};
- poweroptions.greenFrom = {{ rower.pw_ut2 }};
- poweroptions.greenTo = {{ rower.pw_at }};
- poweroptions.yellowFrom = {{ rower.pw_at }};
- poweroptions.yellowTo = {{ rower.pw_an }};
- poweroptions.redFrom = {{ rower.pw_an }};
- poweroptions.redTo = {{ rower.pw_an|add:100|round100 }};
- poweroptions.majorTicks = {{ rower.pw_an|add:100|round100|majorticks }};
+ poweroptions.max = {{ workout.user.pw_an|add:100|round100 }};
+ poweroptions.greenFrom = {{ workout.user.pw_ut2 }};
+ poweroptions.greenTo = {{ workout.user.pw_at }};
+ poweroptions.yellowFrom = {{ workout.user.pw_at }};
+ poweroptions.yellowTo = {{ workout.user.pw_an }};
+ poweroptions.redFrom = {{ workout.user.pw_an }};
+ poweroptions.redTo = {{ workout.user.pw_an|add:100|round100 }};
+ poweroptions.majorTicks = {{ workout.user.pw_an|add:100|round100|majorticks }};
{% if workout.workouttype == 'water' %}
- poweroptions.max = {{ rower.pw_an|waterpower:rower|add:100|round100 }}
- poweroptions.greenFrom = {{ rower.pw_ut2|waterpower:rower }};
- poweroptions.greenTo = {{ rower.pw_at|waterpower:rower }};
- poweroptions.yellowFrom = {{ rower.pw_at|waterpower:rower }};
- poweroptions.yellowTo = {{ rower.pw_an|waterpower:rower }};
- poweroptions.redFrom = {{ rower.pw_an|waterpower:rower }};
- poweroptions.redTo = {{ rower.pw_an|waterpower:rower|add:100|round100 }};
- poweroptions.majorTicks = {{ rower.pw_an|waterpower:rower|add:100|round100|majorticks }};
+ poweroptions.max = {{ workout.user.pw_an|waterpower:rower|add:100|round100 }}
+ poweroptions.greenFrom = {{ workout.user.pw_ut2|waterpower:rower }};
+ poweroptions.greenTo = {{ workout.user.pw_at|waterpower:rower }};
+ poweroptions.yellowFrom = {{ workout.user.pw_at|waterpower:rower }};
+ poweroptions.yellowTo = {{ workout.user.pw_an|waterpower:rower }};
+ poweroptions.redFrom = {{ workout.user.pw_an|waterpower:rower }};
+ poweroptions.redTo = {{ workout.user.pw_an|waterpower:rower|add:100|round100 }};
+ poweroptions.majorTicks = {{ workout.user.pw_an|waterpower:rower|add:100|round100|majorticks }};
{% endif %}
power_now = power_values[0];
set_forcepower();
{% endif %}
{% if 'athlete' in metricsgroups %}
- hroptions.max = {{ rower.max|round20 }}
- hroptions.greenFrom = {{ rower.ut2 }}
- hroptions.greenTo = {{ rower.at }}
- hroptions.yellowFrom = {{ rower.at }}
- hroptions.yellowTo = {{ rower.an }}
- hroptions.redFrom = {{ rower.an }}
- hroptions.redTo = {{ rower.max }}
- hroptions.majorTicks = {{ rower.max|round20|hrmajorticks:rower.rest }}
+ hroptions.max = {{ workout.user.max|round20 }}
+ hroptions.greenFrom = {{ workout.user.ut2 }}
+ hroptions.greenTo = {{ workout.user.at }}
+ hroptions.yellowFrom = {{ workout.user.at }}
+ hroptions.yellowTo = {{ workout.user.an }}
+ hroptions.redFrom = {{ workout.user.an }}
+ hroptions.redTo = {{ workout.user.max }}
+ hroptions.majorTicks = {{ workout.user.max|round20|hrmajorticks:workout.user.rest }}
hr_now = hr_values[0];
set_athlete();
{% endif %}
diff --git a/rowers/templatetags/rowerfilters.py b/rowers/templatetags/rowerfilters.py
index b7f3be2f..48b5afde 100644
--- a/rowers/templatetags/rowerfilters.py
+++ b/rowers/templatetags/rowerfilters.py
@@ -127,11 +127,17 @@ def waterpower(x,rower):
@register.filter
def round20(x):
- return int(20.*(1+int(int(x)/20)))
+ try:
+ return int(20.*(1+int(int(x)/20)))
+ except ValueError:
+ return 20
@register.filter
def round100(x):
- return int(100.*(1+int(int(x)/100)))
+ try:
+ return int(100.*(1+int(int(x)/100)))
+ except ValueError:
+ return 100
@register.filter
def majorticks(maxval):
From 327e02c49f310327a23f346902bf4b4e369abbcb Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Fri, 3 Jan 2020 08:32:54 +0100
Subject: [PATCH 18/57] improced Dockerfile
---
Dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Dockerfile b/Dockerfile
index d59b0760..2ac9594e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,7 @@
FROM debian
RUN apt-get update
RUN apt-get install -y default-libmysqlclient-dev
-RUN apt-get install -y postgresql postgresql-contrib
+RUN apt-get install -y postgresql postgresql-contrib libpq-dev python-psycopg2
RUN apt-get update && apt-get install \
-y --no-install-recommends python3 python3-virtualenv
RUN apt-get update && apt-get install libssl-dev
From ec135d98d21e04b16fb17d7047210a78a2a4ae1a Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Fri, 3 Jan 2020 10:44:29 +0100
Subject: [PATCH 19/57] improved video bug
---
Dockerfile | 4 ++--
rowers/templates/embedded_video.html | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index 2ac9594e..26847963 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,9 +1,9 @@
FROM debian
RUN apt-get update
-RUN apt-get install -y default-libmysqlclient-dev
+RUN apt-get install -y default-libmysqlclient-dev gcc
RUN apt-get install -y postgresql postgresql-contrib libpq-dev python-psycopg2
RUN apt-get update && apt-get install \
- -y --no-install-recommends python3 python3-virtualenv
+ -y --no-install-recommends python3 python3-virtualenv python3-dev
RUN apt-get update && apt-get install libssl-dev
RUN python3 -m virtualenv --python=/usr/bin/python3 /opt/venv
COPY ./requirements.txt /usr/src/app/
diff --git a/rowers/templates/embedded_video.html b/rowers/templates/embedded_video.html
index 82d6346b..8bd24edf 100644
--- a/rowers/templates/embedded_video.html
+++ b/rowers/templates/embedded_video.html
@@ -1,4 +1,4 @@
-workout.user{% extends "newbase.html" %}
+{% extends "newbase.html" %}
{% load staticfiles %}
{% load rowerfilters %}
{% load i18n %}
From fa3ebc2ac8d5cdf68455f86d7f8911b27009f3cc Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Fri, 3 Jan 2020 12:12:29 +0100
Subject: [PATCH 20/57] fixing waterpower bug
---
rowers/templates/embedded_video.html | 16 ++++++++--------
rowers/templatetags/rowerfilters.py | 4 +++-
2 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/rowers/templates/embedded_video.html b/rowers/templates/embedded_video.html
index 8bd24edf..6bd67499 100644
--- a/rowers/templates/embedded_video.html
+++ b/rowers/templates/embedded_video.html
@@ -462,14 +462,14 @@ function copyText() {
poweroptions.redTo = {{ workout.user.pw_an|add:100|round100 }};
poweroptions.majorTicks = {{ workout.user.pw_an|add:100|round100|majorticks }};
{% if workout.workouttype == 'water' %}
- poweroptions.max = {{ workout.user.pw_an|waterpower:rower|add:100|round100 }}
- poweroptions.greenFrom = {{ workout.user.pw_ut2|waterpower:rower }};
- poweroptions.greenTo = {{ workout.user.pw_at|waterpower:rower }};
- poweroptions.yellowFrom = {{ workout.user.pw_at|waterpower:rower }};
- poweroptions.yellowTo = {{ workout.user.pw_an|waterpower:rower }};
- poweroptions.redFrom = {{ workout.user.pw_an|waterpower:rower }};
- poweroptions.redTo = {{ workout.user.pw_an|waterpower:rower|add:100|round100 }};
- poweroptions.majorTicks = {{ workout.user.pw_an|waterpower:rower|add:100|round100|majorticks }};
+ poweroptions.max = {{ workout.user.pw_an|waterpower:workout.user|add:100|round100 }}
+ poweroptions.greenFrom = {{ workout.user.pw_ut2|waterpower:workout.user }};
+ poweroptions.greenTo = {{ workout.user.pw_at|waterpower:workout.user }};
+ poweroptions.yellowFrom = {{ workout.user.pw_at|waterpower:workout.user }};
+ poweroptions.yellowTo = {{ workout.user.pw_an|waterpower:workout.user }};
+ poweroptions.redFrom = {{ workout.user.pw_an|waterpower:workout.user }};
+ poweroptions.redTo = {{ workout.user.pw_an|waterpower:workout.user|add:100|round100 }};
+ poweroptions.majorTicks = {{ workout.user.pw_an|waterpower:workout.user|add:100|round100|majorticks }};
{% endif %}
power_now = power_values[0];
set_forcepower();
diff --git a/rowers/templatetags/rowerfilters.py b/rowers/templatetags/rowerfilters.py
index 48b5afde..b3b7b5d5 100644
--- a/rowers/templatetags/rowerfilters.py
+++ b/rowers/templatetags/rowerfilters.py
@@ -123,7 +123,9 @@ def is_coach(rower,rowers):
@register.filter
def waterpower(x,rower):
- return int(x*(100-rower.otwslack)/100.)
+ if rower is not None:
+ return int(x*(100-rower.otwslack)/100.)
+ return int(x)
@register.filter
def round20(x):
From a2ef4491bc297292fd3377480c1afaf7d9c3e072 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Fri, 3 Jan 2020 13:42:42 +0100
Subject: [PATCH 21/57] broken Dockerfile again
---
Dockerfile | 12 +++++++-----
init.sh | 7 +++++++
2 files changed, 14 insertions(+), 5 deletions(-)
create mode 100644 init.sh
diff --git a/Dockerfile b/Dockerfile
index 26847963..cdcd8290 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,14 +1,16 @@
FROM debian
+RUN mkdir /srv/app
+RUN mkdir /srv/venv
RUN apt-get update
RUN apt-get install -y default-libmysqlclient-dev gcc
RUN apt-get install -y postgresql postgresql-contrib libpq-dev python-psycopg2
RUN apt-get update && apt-get install \
-y --no-install-recommends python3 python3-virtualenv python3-dev
RUN apt-get update && apt-get install libssl-dev
-RUN python3 -m virtualenv --python=/usr/bin/python3 /opt/venv
-COPY ./requirements.txt /usr/src/app/
-WORKDIR /usr/src/app/
-RUN . /opt/venv/bin/activate && pip install -r requirements.txt
+RUN python3 -m virtualenv --python=/srv/venv/
+COPY ./requirements.txt /srv/app/
+WORKDIR /srv/app/
+RUN . /srv/venv/bin/activate && pip install -r requirements.txt
COPY . .
EXPOSE 8000
-CMD ["python", "./manage.py", "runserver"]
+CMD ["init.sh"]
diff --git a/init.sh b/init.sh
new file mode 100644
index 00000000..c93635f0
--- /dev/null
+++ b/init.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+source /srv/venv/bin/activate
+cd /srv/app
+python manage.py migrate
+python manage.py collectstatic --noinput
+python manage.py runserver
From 95db75d4909314916a86988532f197ed66ab914b Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Fri, 3 Jan 2020 14:57:20 +0100
Subject: [PATCH 22/57] almost there - dockerizing
---
Dockerfile | 15 +++------------
app.py | 8 ++++++++
2 files changed, 11 insertions(+), 12 deletions(-)
create mode 100644 app.py
diff --git a/Dockerfile b/Dockerfile
index cdcd8290..7512e062 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,16 +1,7 @@
-FROM debian
-RUN mkdir /srv/app
-RUN mkdir /srv/venv
-RUN apt-get update
-RUN apt-get install -y default-libmysqlclient-dev gcc
-RUN apt-get install -y postgresql postgresql-contrib libpq-dev python-psycopg2
-RUN apt-get update && apt-get install \
- -y --no-install-recommends python3 python3-virtualenv python3-dev
-RUN apt-get update && apt-get install libssl-dev
-RUN python3 -m virtualenv --python=/srv/venv/
+FROM rosti/python:3.6
COPY ./requirements.txt /srv/app/
WORKDIR /srv/app/
-RUN . /srv/venv/bin/activate && pip install -r requirements.txt
+ENV VIRTUAL_ENV = /srv/venv
+RUN /opt/python/bin/pip install -r /srv/app/requirements.txt
COPY . .
-EXPOSE 8000
CMD ["init.sh"]
diff --git a/app.py b/app.py
new file mode 100644
index 00000000..e3fbe54f
--- /dev/null
+++ b/app.py
@@ -0,0 +1,8 @@
+#!/usr/bin/env python
+import os
+import sys
+
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "rowsandall_app.settings")
+application = get_wsgi_application()
+
+#execute_from_command_line(sys.argv)
From 348e0e209e4eee0876287a73e079f52bf5cdb024 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Fri, 3 Jan 2020 15:25:14 +0100
Subject: [PATCH 23/57] container sort of working
---
Dockerfile | 4 ----
1 file changed, 4 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index 7512e062..d35cc5c4 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,3 @@
FROM rosti/python:3.6
-COPY ./requirements.txt /srv/app/
WORKDIR /srv/app/
-ENV VIRTUAL_ENV = /srv/venv
-RUN /opt/python/bin/pip install -r /srv/app/requirements.txt
COPY . .
-CMD ["init.sh"]
From 73ff474ea88c180f9a8678f9a010892149aa75ff Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Fri, 3 Jan 2020 16:46:37 +0100
Subject: [PATCH 24/57] first version of mini player
---
rowers/templates/embedded_video_mini.html | 681 ++++++++++++++++++++++
rowers/urls.py | 2 +
rowers/views/workoutviews.py | 110 ++++
3 files changed, 793 insertions(+)
create mode 100644 rowers/templates/embedded_video_mini.html
diff --git a/rowers/templates/embedded_video_mini.html b/rowers/templates/embedded_video_mini.html
new file mode 100644
index 00000000..720e2794
--- /dev/null
+++ b/rowers/templates/embedded_video_mini.html
@@ -0,0 +1,681 @@
+{% extends "newbase.html" %}
+{% load staticfiles %}
+{% load rowerfilters %}
+{% load i18n %}
+{% load leaflet_tags %}
+
+
+
+{% block title %}Workout Video{% endblock %}
+{% block og_title %}{{ analysis.name }}{% endblock %}
+{% block description %}Rowing Video Analysis:{{ analysis.name }}{% endblock %}
+{% block og_description %}Rowing Video Analysis:{{ analysis.name }}{% endblock %}
+{% block og_image %}
+{% if analysis %}
+
+
+{% else %}
+
+
+{% endif %}
+{% endblock %}
+
+{% if analysis %}
+{% block image_src %}
+
+{% endblock %}
+{% endif %}
+
+{% block meta %}
+{% leaflet_js %}
+{% leaflet_css %}
+
+
+
+
+
+
+{% endblock %}
+
+{% block main %}
+
+
+
+{% language 'en' %}
+
Video Analysis for {{ workout.name }}
+
+
+
Playing the video will advance the data in synchronization. Use the regular
+ YouTube controls to move around in the video and play it.
+As the developer of the Rowsandall.com site I am very interested to know what you think of Rowsandall.com. Especially, I'd like to understand how you started using the site, what you are looking for, and what you think could be improved.
+
+
+The Self-Coach functionality allows you to create training plans and sessions for you and your training group. Feel free to contact me any time you need help.
+
+
+I'd also love to hear a bit about your rowing background.
+
+
+Thank you very much for your help and for supporting rowsandall.com.
+
+As the developer of the Rowsandall.com site I am very interested to know what you think of Rowsandall.com. Especially, I'd like to understand how you started using the site, what you are looking for, and what you think could be improved.
+
+
+The Self-Coach functionality allows you to create training plans and sessions for you and your training group. Feel free to contact me any time you need help.
+
+
+I'd also love to hear a bit about your rowing background.
+
+
+Thank you very much for your help and for supporting rowsandall.com.
+
+
+
+
+ Best Regards, the Rowsandall Team
+
+{% endblock %}
diff --git a/rowers/views/userviews.py b/rowers/views/userviews.py
index a8aea814..710fd771 100644
--- a/rowers/views/userviews.py
+++ b/rowers/views/userviews.py
@@ -13,23 +13,30 @@ def start_trial_view(request):
messages.error(request,'You do not qualify for a trial')
url = '/rowers/paidplans'
return HttpResponseRedirect(url)
-
+
r.protrialexpires = datetime.date.today()+datetime.timedelta(13)
r.save()
url = reverse('workouts_view')
messages.info(request,'We have started your 14 day trial period')
-
+
subject2 = "User started Pro Trial"
message2 = "User Started Pro Trial.\n"
message2 += request.user.email + "\n"
message2 += "User name: "+request.user.username
-
+
send_mail(subject2, message2,
'Rowsandall Server ',
['roosendaalsander@gmail.com'])
-
+
+ send_template_email('Rowsandall ',
+ [r.user.email],
+ 'Welcome to the Rowsandall Pro Trial',
+ 'protrialewelcome.html',
+ {'first_name':r.user.first_name,
+ 'last_name':r.user.last_name})
+
return HttpResponseRedirect(url)
@login_required()
@@ -40,7 +47,7 @@ def start_plantrial_view(request):
messages.error(request,'You do not qualify for a trial')
url = '/rowers/paidplans'
return HttpResponseRedirect(url)
-
+
r.plantrialexpires = datetime.date.today()+datetime.timedelta(13)
r.protrialexpires = datetime.date.today()+datetime.timedelta(13)
r.save()
@@ -48,16 +55,23 @@ def start_plantrial_view(request):
url = reverse('workouts_view')
messages.info(request,'We have started your 14 day trial period')
-
+
subject2 = "User started Plan Trial"
message2 = "User Started Plan Trial.\n"
message2 += request.user.email + "\n"
message2 += "User name: "+request.user.username
-
+
send_mail(subject2, message2,
'Rowsandall Server ',
['roosendaalsander@gmail.com'])
-
+
+ send_template_email('Rowsandall ',
+ [r.user.email],
+ 'Welcome to the Rowsandall Self-Coach Trial',
+ 'plantrialwelcome.html',
+ {'first_name':r.user.first_name,
+ 'last_name':r.user.last_name})
+
return HttpResponseRedirect(url)
# Page where user can manage his favorite charts
@@ -79,7 +93,7 @@ def rower_favoritecharts_view(request,userid=0):
FavoriteChartFormSet = formset_factory(FavoriteForm,formset=BaseFavoriteFormSet,extra=0)
if aantal==0:
FavoriteChartFormSet = formset_factory(FavoriteForm,formset=BaseFavoriteFormSet,extra=1)
-
+
if request.method == 'POST':
favorites_formset = FavoriteChartFormSet(request.POST)
@@ -115,7 +129,7 @@ def rower_favoritecharts_view(request,userid=0):
messages.error(request,message)
else:
favorites_formset = FavoriteChartFormSet(initial=favorites_data)
-
+
context = {
'favorites_formset':favorites_formset,
@@ -123,8 +137,8 @@ def rower_favoritecharts_view(request,userid=0):
'rower':r,
}
-
-
+
+
return render(request,'favoritecharts.html',context)
# page where user sets his export settings
@@ -154,7 +168,7 @@ def rower_exportsettings_view(request,userid=0):
'name': 'Export Settings'
}
]
-
+
return render(request, 'rower_exportsettings.html',
{'form':form,
'rower':r,
@@ -367,7 +381,7 @@ def rower_prefs_view(request,userid=0,message=""):
'rower':r,
})
-
+
# Revoke an app that you granted access through the API.
# this views is called when you press a button on the User edit page
# the button is only there when you have granted access to an app
@@ -401,7 +415,7 @@ def rower_update_empower_view(
r = getrower(request.user)
except Rower.DoesNotExist:
raise Http404("Rower doesn't exist")
-
+
if request.method == 'POST' and 'daterange' in request.POST:
dateform = DateRangeForm(request.POST)
if dateform.is_valid():
@@ -416,7 +430,7 @@ def rower_update_empower_view(
'startdate':startdate,
'enddate':enddate,
})
-
+
if request.method == 'POST' and 'workouts' in request.POST:
form = WorkoutMultipleCompareForm(request.POST)
@@ -424,7 +438,7 @@ def rower_update_empower_view(
cd = form.cleaned_data
workouts = cd['workouts']
workoutdicts = []
-
+
for w in workouts:
if w.user != r:
message = "You can only alter your own workouts"
@@ -440,7 +454,7 @@ def rower_update_empower_view(
messages.error(request,message)
else:
-
+
workoutdict = {
'id':w.id,
'boattype':w.boattype,
@@ -454,7 +468,7 @@ def rower_update_empower_view(
w.workoutsource = 'speedcoach2corrected'
w.save()
-
+
job = myqueue(queuelow,handle_update_empower,
request.user.email,workoutdicts,
debug=False,
@@ -479,7 +493,7 @@ def rower_update_empower_view(
workoutsource='speedcoach2',
user=r,
).order_by("-date","-starttime")
-
+
form = WorkoutMultipleCompareForm()
form.fields["workouts"].queryset = workouts
# GET request = prepare form
@@ -491,5 +505,3 @@ def rower_update_empower_view(
'form':form,
'rower':r
})
-
-
From 251a52c15904c011be40a77c55b588621345d184 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Mon, 6 Jan 2020 21:03:35 +0100
Subject: [PATCH 40/57] better welcomes
---
.../templates/paymentconfirmationemail.html | 12 +++++++++-
rowers/templates/plantrialwelcome.html | 7 +++++-
rowers/templates/protrialewelcome.html | 17 ++++++++++----
.../templates/subscription_update_email.html | 23 ++++++++++++++-----
4 files changed, 46 insertions(+), 13 deletions(-)
diff --git a/rowers/templates/paymentconfirmationemail.html b/rowers/templates/paymentconfirmationemail.html
index 0bc62f45..1d97167c 100644
--- a/rowers/templates/paymentconfirmationemail.html
+++ b/rowers/templates/paymentconfirmationemail.html
@@ -7,6 +7,17 @@
Thank you. We have received the payment of € {{ amount }} for Rowsandall related services.
+
+ With your contribution, you are helping to keep this service to the rowing community
+ running. As the founder and developer of the Rowsandall.com site I am very interested
+ to know what you think of Rowsandall.com, as well as suggestions for improvements.
+
+
+
+ So don't hesitate to respond to this email and let me know. I will read and respond to each
+ email.
+
+
Please contact our customer service by replying to this email if you have any further
questions regarding the payment.
@@ -16,4 +27,3 @@
Best Regards, the Rowsandall Team
{% endblock %}
-
diff --git a/rowers/templates/plantrialwelcome.html b/rowers/templates/plantrialwelcome.html
index 9da3e750..5f588c43 100644
--- a/rowers/templates/plantrialwelcome.html
+++ b/rowers/templates/plantrialwelcome.html
@@ -15,9 +15,14 @@ The Self-Coach functionality allows you to create training plans and sessions fo
I'd also love to hear a bit about your rowing background.
+
+
+ So don't hesitate to respond to this email and let me know. I will read and respond to each
+ email.
+
Thank you very much for your help and for supporting rowsandall.com.
-
+
diff --git a/rowers/templates/protrialewelcome.html b/rowers/templates/protrialewelcome.html
index b2e6d88a..a7bf7892 100644
--- a/rowers/templates/protrialewelcome.html
+++ b/rowers/templates/protrialewelcome.html
@@ -7,17 +7,24 @@
Welcome on the trial for the Pro plan.
-As the developer of the Rowsandall.com site I am very interested to know what you think of Rowsandall.com. Especially, I'd like to understand how you started using the site, what you are looking for, and what you think could be improved.
-
-
-The Self-Coach functionality allows you to create training plans and sessions for you and your training group. Feel free to contact me any time you need help.
+As the developer of the Rowsandall.com site I am very interested to know
+what you think of Rowsandall.com.
+Especially, I'd like to understand how you started using the site,
+what you are looking for, and what you think could be improved.
+
I'd also love to hear a bit about your rowing background.
+
+
+ So don't hesitate to respond to this email and let me know. I will read and respond to each
+ email.
+
+
Thank you very much for your help and for supporting rowsandall.com.
-
Thank you. We have received the payment of € {{ amount }} for
- your updated Rowsandall subscription.
- You are now on the Rowsandall paid plan "{{ planname }}".
+ your updated Rowsandall subscription.
+ You are now on the Rowsandall paid plan "{{ planname }}".
+
+ With your contribution, you are helping to keep this service to the rowing community
+ running. As the founder and developer of the Rowsandall.com site I am very interested
+ to know what you think of Rowsandall.com, as well as suggestions for improvements.
+
+
+
+ So don't hesitate to respond to this email and let me know. I will read and respond to each
+ email.
+
+
{% if recurring=='recurring' %}
+ Some more information about the subscription.
The subscription cost is €{{ price }} per year.
Your next charge is due on {{ end_of_billing_period }}. We will charge you automatically
- on that date.
+ on that date.
The subscription will keep running until you change or stop it. At any point in time you
can change the automatically renewing subscription to a "one year only" subscription through
the upgrade page. On this page, you can also
- upgrade your subscription.
+ upgrade your subscription.
{% else %}
@@ -28,7 +40,7 @@
The price of the subscription is €{{ price }}. You have paid €{{ amount }} as a
prorated cost of your upgrade.
This one year subscription will automatically end on {{ end_of_billing_period }}. You can
- renew your subscription after that.
+ renew your subscription after that.
@@ -60,4 +72,3 @@
Best Regards, the Rowsandall Team
- Please correct the error{{ form.errors|pluralize }} below.
-
- {% endif %}
-
-
-
+
+ {% if form.errors %}
+
+ Please correct the error{{ form.errors|pluralize }} below.
+
+ {% endif %}
+
+
+
-
Bug reporting, feature requests
-
-
- Bug reports and feature requests can be done through our BitBucket page. Please check on the following link if your bug or issue is a known one. Feel free to file any feature request.
-
+ Bug reports and feature requests can be done through our BitBucket page. Please check on the following link if your bug or issue is a known one. Feel free to file any feature request.
+
We run a facebook group where you can post questions and report problems,
- especially if you think the wider user community benefits from the answers.
- When the site is down, this is the appropriate channel to look for apologies, updates, and offer help.
-
-
+
We run a facebook group where you can post questions and report problems,
+ especially if you think the wider user community benefits from the answers.
Rowsandall s.r.o.
- Nové sady 988/2
- 602 00 Brno
- Czech Republic
- IČ: 070 48 572
- DIČ: CZ 070 48 572 (Nejsme plátce DPH)
- Datová schránka: 7897syr
- Email: info@rowsandall.com
- The company is registered in the business register at the
- Regional Court in Brno (Společnost je zapsána v obchodním rejstříku vedeném u Krajského soudu v Brně, oddíl C, vložka 105845)
-
+ When the site is down, this is the appropriate channel to look for apologies, updates, and offer help.
+
+
-{% block sidebar %}
-{% include 'menu_help.html' %}
-{% endblock %}
+
+
Rowsandall s.r.o.
-
+
Rowsandall s.r.o.
+ Nové sady 988/2
+ 602 00 Brno
+ Czech Republic
+ IČ: 070 48 572
+ DIČ: CZ 070 48 572 (Nejsme plátce DPH)
+ Datová schránka: 7897syr
+ Email: info@rowsandall.com
+ The company is registered in the business register at the
+ Regional Court in Brno (Společnost je zapsána v obchodním rejstříku vedeném u Krajského soudu v Brně, oddíl C, vložka 105845)
+