diff --git a/rowers.dot b/rowers.dot new file mode 100644 index 00000000..2c9900b3 --- /dev/null +++ b/rowers.dot @@ -0,0 +1,715 @@ +digraph model_graph { + // Dotfile by Django-Extensions graph_models + // Created: 2017-01-10 16:49 + // Cli Options: rowers + + fontname = "Helvetica" + fontsize = 8 + splines = true + + node [ + fontname = "Helvetica" + fontsize = 8 + shape = "plaintext" + ] + + edge [ + fontname = "Helvetica" + fontsize = 8 + ] + + // Labels + + + rowers_models_Team [label=< + + + + + + + + + +
+ + Team +
+ id + + AutoField +
+ name + + CharField +
+ notes + + CharField +
+ >] + + rowers_models_Rower [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + Rower +
+ id + + AutoField +
+ team + + ForeignKey (id) +
+ user + + OneToOneField (id) +
+ an + + IntegerField +
+ at + + IntegerField +
+ c2refreshtoken + + CharField +
+ c2token + + CharField +
+ ftp + + IntegerField +
+ max + + IntegerField +
+ rest + + IntegerField +
+ rowerplan + + CharField +
+ sporttracksrefreshtoken + + CharField +
+ sporttrackstoken + + CharField +
+ sporttrackstokenexpirydate + + DateTimeField +
+ stravatoken + + CharField +
+ tokenexpirydate + + DateTimeField +
+ tr + + IntegerField +
+ ut1 + + IntegerField +
+ ut2 + + IntegerField +
+ weightcategory + + CharField +
+ >] + + rowers_models_FavoriteChart [label=< + + + + + + + + + + + + + + + + + + + +
+ + FavoriteChart +
+ id + + AutoField +
+ user + + ForeignKey (id) +
+ plottype + + CharField +
+ reststrokes + + BooleanField +
+ workouttype + + CharField +
+ xparam + + CharField +
+ yparam1 + + CharField +
+ yparam2 + + CharField +
+ >] + + rowers_models_Workout [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + Workout +
+ id + + AutoField +
+ team + + ForeignKey (id) +
+ user + + ForeignKey (id) +
+ averagehr + + IntegerField +
+ boattype + + CharField +
+ csvfilename + + CharField +
+ date + + DateField +
+ distance + + IntegerField +
+ duration + + TimeField +
+ maxhr + + IntegerField +
+ name + + CharField +
+ notes + + CharField +
+ startdatetime + + DateTimeField +
+ starttime + + TimeField +
+ summary + + TextField +
+ uploadedtoc2 + + IntegerField +
+ uploadedtosporttracks + + IntegerField +
+ uploadedtostrava + + IntegerField +
+ weightcategory + + CharField +
+ weightvalue + + FloatField +
+ workouttype + + CharField +
+ >] + + rowers_models_StrokeData [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + StrokeData +
+ id + + AutoField +
+ averageforce + + FloatField +
+ catch + + FloatField +
+ cumdist + + FloatField +
+ distance + + FloatField +
+ driveenergy + + FloatField +
+ drivelength + + FloatField +
+ drivespeed + + FloatField +
+ equivergpower + + FloatField +
+ ergpace + + FloatField +
+ fergpace + + CharField +
+ finish + + FloatField +
+ fnowindpace + + CharField +
+ forceratio + + FloatField +
+ fpace + + CharField +
+ ftime + + CharField +
+ hr + + IntegerField +
+ hr_an + + IntegerField +
+ hr_at + + IntegerField +
+ hr_bottom + + IntegerField +
+ hr_max + + IntegerField +
+ hr_tr + + IntegerField +
+ hr_ut1 + + IntegerField +
+ hr_ut2 + + IntegerField +
+ nowindpace + + FloatField +
+ pace + + FloatField +
+ peakforce + + FloatField +
+ peakforceangle + + FloatField +
+ power + + FloatField +
+ slip + + FloatField +
+ spm + + FloatField +
+ time + + FloatField +
+ wash + + FloatField +
+ workoutid + + IntegerField +
+ workoutstate + + IntegerField +
+ x_right + + FloatField +
+ >] + + rowers_models_GraphImage [label=< + + + + + + + + + + + +
+ + GraphImage +
+ id + + AutoField +
+ workout + + ForeignKey (id) +
+ creationdatetime + + DateTimeField +
+ filename + + CharField +
+ >] + + rowers_models_SiteAnnouncement [label=< + + + + + + + + + + + + + + + +
+ + SiteAnnouncement +
+ id + + AutoField +
+ announcement + + TextField +
+ created + + DateField +
+ dotweet + + BooleanField +
+ expires + + DateField +
+ modified + + DateField +
+ >] + + + + + // Relations + django_contrib_auth_models_User [label=< + + +
+ User +
+ >] + rowers_models_Rower -> django_contrib_auth_models_User + [label="user (rower)"] [arrowhead=none, arrowtail=none, dir=both]; + + rowers_models_Rower -> rowers_models_Team + [label="team (rower)"] [arrowhead=none, arrowtail=dot, dir=both]; + + rowers_models_Rower -> rowers_models_Rower + [label="friends (friends_rel_+)"] [arrowhead=dot arrowtail=dot, dir=both]; + + rowers_models_FavoriteChart -> rowers_models_Rower + [label="user (favoritechart)"] [arrowhead=none, arrowtail=dot, dir=both]; + + rowers_models_Workout -> rowers_models_Rower + [label="user (workout)"] [arrowhead=none, arrowtail=dot, dir=both]; + + rowers_models_Workout -> rowers_models_Team + [label="team (workout)"] [arrowhead=none, arrowtail=dot, dir=both]; + + rowers_models_GraphImage -> rowers_models_Workout + [label="workout (graphimage)"] [arrowhead=none, arrowtail=dot, dir=both]; + +} + diff --git a/rowers.png b/rowers.png new file mode 100644 index 00000000..7e314125 Binary files /dev/null and b/rowers.png differ diff --git a/rowers/views.py b/rowers/views.py index 1c9afaa5..320e4112 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -3698,10 +3698,11 @@ def workout_getc2workout_view(request,c2id): if (res.status_code == 200): data = res.json()['data'] splitdata = None - if 'splits' in data['workout']: - splitdata = data['workout']['splits'] - if 'intervals' in data['workout']: - splitdata = data['workout']['intervals'] + if 'workout' in data: + if 'splits' in data['workout']: + splitdata = data['workout']['splits'] + if 'intervals' in data['workout']: + splitdata = data['workout']['intervals'] if data['stroke_data']: res2 = c2stuff.get_c2_workout_strokes(request.user,c2id)