From 7a9e8ef77f27175dad23ee6a358dbb24a112009e Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 2 Jun 2023 21:29:19 +0200 Subject: [PATCH] py39 getting to pass --- requirements39.txt | 179 ++++++++++++++++++++ rowers/templates/agegroupchart.html | 2 +- rowers/templates/agegroupcp.html | 2 +- rowers/templates/boxplot.html | 2 +- rowers/templates/cum_flex.html | 8 +- rowers/templates/cumstats.html | 8 +- rowers/templates/disqualification_view.html | 2 +- rowers/templates/fitnessfit.html | 2 +- rowers/templates/fitnessmetric.html | 2 +- rowers/templates/flexchart3otw.html | 4 +- rowers/templates/flexchartstacked.html | 4 +- rowers/templates/forcecurve_analysis.html | 4 +- rowers/templates/forcecurve_single.html | 4 +- rowers/templates/goldmedalscores.html | 2 +- rowers/templates/histo.html | 8 +- rowers/templates/histo_single.html | 2 +- rowers/templates/history.html | 8 +- rowers/templates/instroke_analysis.html | 4 +- rowers/templates/instroke_interactive.html | 2 +- rowers/templates/list_workouts.html | 6 +- rowers/templates/map_view.html | 2 +- rowers/templates/mapcompare.html | 2 +- rowers/templates/multicompare.html | 2 +- rowers/templates/multiflex.html | 2 +- rowers/templates/oterankings.html | 2 +- rowers/templates/otwgeeky.html | 2 +- rowers/templates/otwinteractive.html | 2 +- rowers/templates/otwrankings.html | 2 +- rowers/templates/performancemanager.html | 2 +- rowers/templates/rankings.html | 2 +- rowers/templates/splitworkout.html | 2 +- rowers/templates/streamedit.html | 2 +- rowers/templates/summary_edit.html | 2 +- rowers/templates/trainingplan_chart.html | 4 +- rowers/templates/trainingzones.html | 4 +- rowers/templates/user_analysis_select.html | 8 +- rowers/templates/windedit.html | 2 +- rowers/templates/withdraw_view.html | 2 +- rowers/templates/workflow.html | 2 +- rowers/templates/workout_comments.html | 2 +- rowers/templates/workout_form.html | 2 +- rowers/templates/workout_view.html | 2 +- rowers/tests/testdata/testdata.tcx.gz | Bin 4000 -> 4000 bytes 43 files changed, 244 insertions(+), 65 deletions(-) create mode 100644 requirements39.txt diff --git a/requirements39.txt b/requirements39.txt new file mode 100644 index 00000000..47dc6125 --- /dev/null +++ b/requirements39.txt @@ -0,0 +1,179 @@ +aiohttp==3.8.4 +aiosignal==1.3.1 +amqp==5.1.1 +arrow==1.2.3 +asgiref==3.7.2 +asttokens==2.2.1 +async-timeout==4.0.2 +attrs==23.1.0 +backcall==0.2.0 +beautifulsoup4==4.12.2 +billiard==3.6.4.0 +bleach==6.0.0 +bokeh==3.1.1 +braintree==4.20.0 +celery==5.2.1 +certifi==2023.5.7 +cffi==1.15.1 +charset-normalizer==3.1.0 +click==8.1.3 +click-didyoumean==0.3.0 +click-plugins==1.1.1 +click-repl==0.2.0 +cloudpickle==2.2.1 +colorcet==3.0.1 +contourpy==1.0.7 +coreapi==2.3.3 +coreschema==0.0.4 +cramjam==2.6.2 +cycler==0.11.0 +Cython==0.29.35 +dask==2023.5.1 +decorator==5.1.1 +Django==3.2.12 +django-analytical==2.5.0 +django-async-messages==0.3.1 +django-classy-tags==4.0.0 +django-cookie-law==2.0.1 +django-cors-headers==3.10.1 +django-countries==7.5.1 +django-datetime-widget2==0.9.5 +django-debug-toolbar==2.0 +django-leaflet==0.28.2 +django-oauth-toolkit==1.2.0 +django-oauth2-provider==0.2.6.1 +django-rest-framework==0.1.0 +django-rest-swagger==2.2.0 +django-rq==2.5.1 +django-shell-plus==1.1.7 +django-social-share==1.3.2 +django-taggit==4.0.0 +django-tz-detect==0.2.9 +djangorestframework==3.14.0 +docopt==0.6.2 +exceptiongroup==1.1.1 +executing==1.2.0 +factory-boy==2.11.1 +Faker==18.10.0 +fastparquet==2023.4.0 +fitparse==1.2.0 +fonttools==4.39.4 +frozenlist==1.3.3 +fsspec==2023.5.0 +future==0.18.3 +geocoder==1.38.1 +geoip2==4.7.0 +greenlet==2.0.2 +grpcio==1.26.0 +h3==3.7.6 +holoviews==1.16.0 +httplib2==0.22.0 +humanize==4.6.0 +icalendar==5.0.7 +idna==3.4 +importlib-metadata==6.6.0 +importlib-resources==5.12.0 +iniconfig==2.0.0 +ipython==8.14.0 +iso8601==1.1.0 +isodate==0.6.1 +itypes==1.2.0 +jedi==0.18.2 +Jinja2==3.0.3 +kiwisolver==1.4.4 +kombu==5.2.4 +linkify-it-py==2.0.2 +locket==1.0.0 +lxml==4.9.2 +Markdown==3.4.3 +markdown-it-py==2.2.0 +MarkupSafe==2.1.2 +matplotlib==3.7.1 +matplotlib-inline==0.1.6 +maxminddb==2.3.0 +mdit-py-plugins==0.3.5 +mdurl==0.1.2 +mock==5.0.2 +mpld3==0.5.9 +multidict==6.0.4 +nose==1.3.7 +nose-parameterized==0.6.0 +numpy==1.24.3 +oauth2==1.9.0.post1 +oauth2-provider==0.0 +oauthlib==3.2.2 +openapi-codec==1.3.2 +packaging==23.1 +pandas==2.0.2 +panel==1.0.4 +param==1.13.0 +parso==0.8.3 +partd==1.4.0 +pathspec==0.11.1 +pendulum==2.1.2 +pexpect==4.8.0 +pickleshare==0.7.5 +Pillow==9.5.0 +Pint==0.22 +pluggy==1.0.0 +prompt-toolkit==3.0.38 +protobuf==3.19.4 +ptyprocess==0.7.0 +pure-eval==0.2.2 +pyarrow==12.0.0 +pycairo==1.23.0 +pycparser==2.21 +pyct==0.5.0 +pydantic==1.10.8 +Pygments==2.15.1 +pyparsing==3.0.9 +pytest==7.3.1 +pytest-runner==6.0.0 +python-dateutil==2.8.2 +python-twitter==3.5 +pytz==2023.3 +pytzdata==2020.1 +pyviz-comms==2.3.0 +PyYAML==6.0 +ratelim==0.1.6 +redis==4.5.5 +requests==2.31.0 +requests-oauthlib==1.2.0 +rowingdata==3.5.29 +rowingphysics==0.5.2 +rq==1.15.0 +rules==3.3 +ruptures==1.1.7 +scipy==1.10.1 +shortuuid==1.0.11 +simplejson==3.19.1 +six==1.16.0 +soupsieve==2.4.1 +SQLAlchemy==2.0.15 +sqlparse==0.4.4 +stack-data==0.6.2 +stravalib==1.3.0 +timezonefinder==6.2.0 +tk==0.1.0 +tomli==2.0.1 +toolz==0.12.0 +tornado==6.3.2 +tqdm==4.65.0 +traitlets==5.9.0 +trueskill==0.4.5 +typing_extensions==4.6.3 +tzdata==2023.3 +uc-micro-py==1.0.2 +uritemplate==4.1.1 +urllib3==2.0.2 +VerbalExpressions==0.0.2 +vine==5.0.0 +wcwidth==0.2.6 +webencodings==0.5.1 +Werkzeug==2.3.4 +xmltodict==0.13.0 +xyzservices==2023.5.0 +yamjam==0.1.7 +yamllint==1.32.0 +yarl==1.9.2 +zipp==3.15.0 diff --git a/rowers/templates/agegroupchart.html b/rowers/templates/agegroupchart.html index 6d4d01df..2ad2a9a8 100644 --- a/rowers/templates/agegroupchart.html +++ b/rowers/templates/agegroupchart.html @@ -6,7 +6,7 @@ {% block main %} - + diff --git a/rowers/templates/agegroupcp.html b/rowers/templates/agegroupcp.html index 2308f5fb..c08a9552 100644 --- a/rowers/templates/agegroupcp.html +++ b/rowers/templates/agegroupcp.html @@ -6,7 +6,7 @@ {% block main %} - + diff --git a/rowers/templates/boxplot.html b/rowers/templates/boxplot.html index 7f8bd9db..df98c678 100644 --- a/rowers/templates/boxplot.html +++ b/rowers/templates/boxplot.html @@ -6,7 +6,7 @@ {% block main %} - + diff --git a/rowers/templates/cum_flex.html b/rowers/templates/cum_flex.html index e78b002f..4e818a57 100644 --- a/rowers/templates/cum_flex.html +++ b/rowers/templates/cum_flex.html @@ -59,12 +59,12 @@
- - + +
- - + +
diff --git a/rowers/templates/cumstats.html b/rowers/templates/cumstats.html index 7e5c5b83..fbc98813 100644 --- a/rowers/templates/cumstats.html +++ b/rowers/templates/cumstats.html @@ -60,12 +60,12 @@
- - + +
- - + +
diff --git a/rowers/templates/disqualification_view.html b/rowers/templates/disqualification_view.html index 346009d7..dfacbe67 100644 --- a/rowers/templates/disqualification_view.html +++ b/rowers/templates/disqualification_view.html @@ -102,7 +102,7 @@ {% endif %}
  • - + diff --git a/rowers/templates/fitnessfit.html b/rowers/templates/fitnessfit.html index 010f8e09..a5eb088d 100644 --- a/rowers/templates/fitnessfit.html +++ b/rowers/templates/fitnessfit.html @@ -48,7 +48,7 @@ }); - + diff --git a/rowers/templates/fitnessmetric.html b/rowers/templates/fitnessmetric.html index c3a0a4d6..94e57b2a 100644 --- a/rowers/templates/fitnessmetric.html +++ b/rowers/templates/fitnessmetric.html @@ -48,7 +48,7 @@ }); - + diff --git a/rowers/templates/flexchart3otw.html b/rowers/templates/flexchart3otw.html index bbae4c43..5c965572 100644 --- a/rowers/templates/flexchart3otw.html +++ b/rowers/templates/flexchart3otw.html @@ -11,8 +11,8 @@ {{ js_res | safe }} {{ css_res| safe }} - - + + diff --git a/rowers/templates/flexchartstacked.html b/rowers/templates/flexchartstacked.html index d44b9c33..d5788f79 100644 --- a/rowers/templates/flexchartstacked.html +++ b/rowers/templates/flexchartstacked.html @@ -11,8 +11,8 @@ {{ js_res | safe }} {{ css_res| safe }} - - + + diff --git a/rowers/templates/forcecurve_analysis.html b/rowers/templates/forcecurve_analysis.html index 79638221..b46f8d37 100644 --- a/rowers/templates/forcecurve_analysis.html +++ b/rowers/templates/forcecurve_analysis.html @@ -9,8 +9,8 @@ {{ js_res | safe }} {{ css_res| safe }} - - + + diff --git a/rowers/templates/forcecurve_single.html b/rowers/templates/forcecurve_single.html index 56844a45..d9ea9729 100644 --- a/rowers/templates/forcecurve_single.html +++ b/rowers/templates/forcecurve_single.html @@ -11,8 +11,8 @@ {{ js_res | safe }} {{ css_res| safe }} - - + + diff --git a/rowers/templates/goldmedalscores.html b/rowers/templates/goldmedalscores.html index 020db44c..e56f3624 100644 --- a/rowers/templates/goldmedalscores.html +++ b/rowers/templates/goldmedalscores.html @@ -60,7 +60,7 @@ {% block main %} - + diff --git a/rowers/templates/histo.html b/rowers/templates/histo.html index cbb641c7..a46d9d5e 100644 --- a/rowers/templates/histo.html +++ b/rowers/templates/histo.html @@ -60,12 +60,12 @@
    - - + +
    - - + +
    diff --git a/rowers/templates/histo_single.html b/rowers/templates/histo_single.html index 85539731..4d6111d3 100644 --- a/rowers/templates/histo_single.html +++ b/rowers/templates/histo_single.html @@ -6,7 +6,7 @@ {% block main %} - + diff --git a/rowers/templates/history.html b/rowers/templates/history.html index 819b0ff5..358b91a0 100644 --- a/rowers/templates/history.html +++ b/rowers/templates/history.html @@ -6,12 +6,12 @@ {% block main %}
    - - + +
    - - + +
    - + + diff --git a/rowers/templates/instroke_interactive.html b/rowers/templates/instroke_interactive.html index eccdefdb..d7d89704 100644 --- a/rowers/templates/instroke_interactive.html +++ b/rowers/templates/instroke_interactive.html @@ -113,7 +113,7 @@ $( function() { {% block main %} - + + + + diff --git a/rowers/templates/map_view.html b/rowers/templates/map_view.html index 676aa566..17eedd47 100644 --- a/rowers/templates/map_view.html +++ b/rowers/templates/map_view.html @@ -12,7 +12,7 @@ {% block main %} - + diff --git a/rowers/templates/mapcompare.html b/rowers/templates/mapcompare.html index 4d219412..a00044a6 100644 --- a/rowers/templates/mapcompare.html +++ b/rowers/templates/mapcompare.html @@ -12,7 +12,7 @@ {% block main %} - + diff --git a/rowers/templates/multicompare.html b/rowers/templates/multicompare.html index 6024d130..59ddd994 100644 --- a/rowers/templates/multicompare.html +++ b/rowers/templates/multicompare.html @@ -6,7 +6,7 @@ {% block main %} - + diff --git a/rowers/templates/multiflex.html b/rowers/templates/multiflex.html index e9638577..b2290f82 100644 --- a/rowers/templates/multiflex.html +++ b/rowers/templates/multiflex.html @@ -6,7 +6,7 @@ {% block main %} - + diff --git a/rowers/templates/oterankings.html b/rowers/templates/oterankings.html index 76c07327..d376974a 100644 --- a/rowers/templates/oterankings.html +++ b/rowers/templates/oterankings.html @@ -10,7 +10,7 @@ {% block main %} - + diff --git a/rowers/templates/otwgeeky.html b/rowers/templates/otwgeeky.html index 4ed742ab..139fdcca 100644 --- a/rowers/templates/otwgeeky.html +++ b/rowers/templates/otwgeeky.html @@ -138,7 +138,7 @@
    - + diff --git a/rowers/templates/otwinteractive.html b/rowers/templates/otwinteractive.html index 5c5164cb..1dc48cfc 100644 --- a/rowers/templates/otwinteractive.html +++ b/rowers/templates/otwinteractive.html @@ -6,7 +6,7 @@ {% block main %} - + diff --git a/rowers/templates/otwrankings.html b/rowers/templates/otwrankings.html index bd0186b4..a482e4db 100644 --- a/rowers/templates/otwrankings.html +++ b/rowers/templates/otwrankings.html @@ -10,7 +10,7 @@ {% block main %} - + diff --git a/rowers/templates/performancemanager.html b/rowers/templates/performancemanager.html index 43a98877..f7ae5451 100644 --- a/rowers/templates/performancemanager.html +++ b/rowers/templates/performancemanager.html @@ -63,7 +63,7 @@ {% block main %} - + diff --git a/rowers/templates/rankings.html b/rowers/templates/rankings.html index 74591842..e4a04338 100644 --- a/rowers/templates/rankings.html +++ b/rowers/templates/rankings.html @@ -13,7 +13,7 @@ {% block main %} - + diff --git a/rowers/templates/splitworkout.html b/rowers/templates/splitworkout.html index 6a2994df..bd7c0130 100644 --- a/rowers/templates/splitworkout.html +++ b/rowers/templates/splitworkout.html @@ -23,7 +23,7 @@
  • - + diff --git a/rowers/templates/streamedit.html b/rowers/templates/streamedit.html index 16a0e59a..3c62cacc 100644 --- a/rowers/templates/streamedit.html +++ b/rowers/templates/streamedit.html @@ -31,7 +31,7 @@
  • - + diff --git a/rowers/templates/summary_edit.html b/rowers/templates/summary_edit.html index 5fe8d68d..4117c89d 100644 --- a/rowers/templates/summary_edit.html +++ b/rowers/templates/summary_edit.html @@ -89,7 +89,7 @@

  • - + diff --git a/rowers/templates/trainingplan_chart.html b/rowers/templates/trainingplan_chart.html index aca80898..3b1c5c11 100644 --- a/rowers/templates/trainingplan_chart.html +++ b/rowers/templates/trainingplan_chart.html @@ -6,8 +6,8 @@ {% block main %} - - + + diff --git a/rowers/templates/trainingzones.html b/rowers/templates/trainingzones.html index 2fa5fb60..19502c31 100644 --- a/rowers/templates/trainingzones.html +++ b/rowers/templates/trainingzones.html @@ -6,8 +6,8 @@ {% block main %} - - + + diff --git a/rowers/templates/user_analysis_select.html b/rowers/templates/user_analysis_select.html index bd6f982a..45dd06ad 100644 --- a/rowers/templates/user_analysis_select.html +++ b/rowers/templates/user_analysis_select.html @@ -332,12 +332,12 @@
    - - + +
    - - + +
    + diff --git a/rowers/templates/withdraw_view.html b/rowers/templates/withdraw_view.html index 91b0809d..a5df85ce 100644 --- a/rowers/templates/withdraw_view.html +++ b/rowers/templates/withdraw_view.html @@ -98,7 +98,7 @@
  • {% endif %}
  • - + diff --git a/rowers/templates/workflow.html b/rowers/templates/workflow.html index 75bd7179..f61d1348 100644 --- a/rowers/templates/workflow.html +++ b/rowers/templates/workflow.html @@ -16,7 +16,7 @@ {% block meta %} {% leaflet_js %} {% leaflet_css %} - + diff --git a/rowers/templates/workout_comments.html b/rowers/templates/workout_comments.html index e802eada..699598eb 100644 --- a/rowers/templates/workout_comments.html +++ b/rowers/templates/workout_comments.html @@ -86,7 +86,7 @@
  • - + diff --git a/rowers/templates/workout_form.html b/rowers/templates/workout_form.html index 0ffb7944..278434db 100644 --- a/rowers/templates/workout_form.html +++ b/rowers/templates/workout_form.html @@ -157,7 +157,7 @@ $('#id_workouttype').change(); {% endif %} {% if mapdiv %}
  • - + diff --git a/rowers/templates/workout_view.html b/rowers/templates/workout_view.html index cfbecfba..bfb12fe2 100644 --- a/rowers/templates/workout_view.html +++ b/rowers/templates/workout_view.html @@ -137,7 +137,7 @@
  • {% endif %}
  • - + diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index cc629a176b16d5106df2918b9095a3ac4f6187c8..4d0a992ce943143fa3defe13b65bf38115b24992 100644 GIT binary patch literal 4000 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 GfB^u#j6oOx literal 4000 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