geo-activity-playground 0.36.1__py3-none-any.whl → 0.37.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. geo_activity_playground/core/meta_search.py +117 -0
  2. geo_activity_playground/core/summary_stats.py +30 -0
  3. geo_activity_playground/core/test_meta_search.py +91 -0
  4. geo_activity_playground/core/test_summary_stats.py +108 -0
  5. geo_activity_playground/webui/app.py +9 -5
  6. geo_activity_playground/webui/eddington_blueprint.py +8 -3
  7. geo_activity_playground/webui/{equipment/controller.py → equipment_blueprint.py} +19 -41
  8. geo_activity_playground/webui/heatmap/blueprint.py +7 -29
  9. geo_activity_playground/webui/heatmap/heatmap_controller.py +45 -103
  10. geo_activity_playground/webui/heatmap/templates/heatmap/index.html.j2 +5 -37
  11. geo_activity_playground/webui/search_blueprint.py +6 -69
  12. geo_activity_playground/webui/search_util.py +31 -0
  13. geo_activity_playground/webui/summary_blueprint.py +15 -11
  14. geo_activity_playground/webui/templates/eddington/index.html.j2 +5 -0
  15. geo_activity_playground/webui/{equipment/templates → templates}/equipment/index.html.j2 +3 -5
  16. geo_activity_playground/webui/templates/search/index.html.j2 +30 -83
  17. geo_activity_playground/webui/templates/search_form.html.j2 +82 -0
  18. geo_activity_playground/webui/templates/summary/index.html.j2 +5 -1
  19. {geo_activity_playground-0.36.1.dist-info → geo_activity_playground-0.37.0.dist-info}/METADATA +1 -1
  20. {geo_activity_playground-0.36.1.dist-info → geo_activity_playground-0.37.0.dist-info}/RECORD +23 -19
  21. geo_activity_playground/webui/equipment/__init__.py +0 -0
  22. geo_activity_playground/webui/equipment/blueprint.py +0 -16
  23. {geo_activity_playground-0.36.1.dist-info → geo_activity_playground-0.37.0.dist-info}/LICENSE +0 -0
  24. {geo_activity_playground-0.36.1.dist-info → geo_activity_playground-0.37.0.dist-info}/WHEEL +0 -0
  25. {geo_activity_playground-0.36.1.dist-info → geo_activity_playground-0.37.0.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,82 @@
1
+ {% macro search_form(query, equipments_avail, kinds_avail) %}
2
+
3
+ <div class="accordion" id="search_form_accordion">
4
+ <div class="accordion-item">
5
+ <h2 class="accordion-header">
6
+ <button class="accordion-button {{ '' if query.active else 'collapsed' }}" type="button"
7
+ data-bs-toggle="collapse" data-bs-target="#search_form" aria-expanded="true"
8
+ aria-controls="search_form">
9
+ Activity Filter
10
+ </button>
11
+ </h2>
12
+ <div id="search_form" class="accordion-collapse collapse {{ 'show' if query.active else '' }}"
13
+ data-bs-parent="#search_form_accordion">
14
+ <div class="accordion-body">
15
+ <form>
16
+ <div class="row g-3">
17
+ <div class="col-8">
18
+ <label for="name" class="form-label">Name</label>
19
+ <input type="text" class="form-control" id="name" name="name" value="{{ query.name }}">
20
+ </div>
21
+ <div class="col-4">
22
+ <div class="form-check">
23
+ <input class="form-check-input" type="checkbox" name="name_case_sensitive" value="true"
24
+ id="name_case_sensitive" {% if query.name_case_sensitive %} checked {% endif %}>
25
+ <label class="form-check-label" for="name_case_sensitive">
26
+ Case sensitive
27
+ </label>
28
+ </div>
29
+ </div>
30
+
31
+ <div class="col-6">
32
+ <label for="start_begin" class="form-label">After</label>
33
+ <input type="date" class="form-control" id="start_begin" name="start_begin"
34
+ value="{{ query.start_begin }}">
35
+ </div>
36
+ <div class="col-6">
37
+ <label for="start_end" class="form-label">Until</label>
38
+ <input type="date" class="form-control" id="start_end" name="start_end"
39
+ value="{{ query.start_end }}">
40
+ </div>
41
+
42
+ <div class="col-12">
43
+ <label for="" class="form-label">Kind</label>
44
+ <div class="form-control">
45
+ {% for kind in kinds_avail %}
46
+ <div class="form-check form-check-inline">
47
+ <input class="form-check-input" type="checkbox" name="kind" value="{{ kind }}"
48
+ id="kind_{{ kind }}" {% if kind in query.kind %} checked {% endif %}>
49
+ <label class="form-check-label" for="kind_{{ kind }}">
50
+ {{ kind }}
51
+ </label>
52
+ </div>
53
+ {% endfor %}
54
+ </div>
55
+ </div>
56
+
57
+ <div class="col-12">
58
+ <label for="" class="form-label">Equipment</label>
59
+ <div class="form-control">
60
+ {% for equipment in equipments_avail %}
61
+ <div class="form-check form-check-inline">
62
+ <input class="form-check-input" type="checkbox" name="equipment"
63
+ value="{{ equipment }}" id="equipment_{{ equipment }}" {% if equipment in
64
+ query.equipment %} checked {% endif %}>
65
+ <label class="form-check-label" for="equipment_{{ equipment }}">
66
+ {{ equipment }}
67
+ </label>
68
+ </div>
69
+ {% endfor %}
70
+ </div>
71
+ </div>
72
+
73
+ <div class="col-12">
74
+ <button type="submit" class="btn btn-primary">Filter</button>
75
+ </div>
76
+ </div>
77
+ </form>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ {% endmacro %}
@@ -1,10 +1,14 @@
1
1
  {% extends "page.html.j2" %}
2
+ {% from "search_form.html.j2" import search_form %}
2
3
 
3
4
  {% block container %}
4
5
 
5
-
6
6
  <h1>Summary Statistics</h1>
7
7
 
8
+ <div class="mb-3">
9
+ {{ search_form(query, equipments_avail, kinds_avail) }}
10
+ </div>
11
+
8
12
  <h2>Distances</h2>
9
13
 
10
14
  <p>This is your weekly distance for the past rolling year, split by activity kind.</p>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: geo-activity-playground
3
- Version: 0.36.1
3
+ Version: 0.37.0
4
4
  Summary: Analysis of geo data activities like rides, runs or hikes.
5
5
  License: MIT
6
6
  Author: Martin Ueding
@@ -6,11 +6,15 @@ geo_activity_playground/core/config.py,sha256=uqiwk7CgcuGx8JemHSsRKjRwyNT1YTb7V0
6
6
  geo_activity_playground/core/coordinates.py,sha256=tDfr9mlXhK6E_MMIJ0vYWVCoH0Lq8uyuaqUgaa8i0jg,966
7
7
  geo_activity_playground/core/enrichment.py,sha256=fUmk6avy_rqePlHmJQFTQhAxjgIRaxxmq18N2OSXBBg,7771
8
8
  geo_activity_playground/core/heart_rate.py,sha256=IwMt58TpjOYqpAxtsj07zP2ttpN_J3GZeiv-qGhYyJc,1598
9
+ geo_activity_playground/core/meta_search.py,sha256=xsPDzRIbHTSiY0hmJjFoYusSgINXeTYRnl-FfiQj3_A,3641
9
10
  geo_activity_playground/core/paths.py,sha256=RBeUi38riP_msTGPy1TsPRNiblzE-lFivaJSLULE8b0,2503
10
11
  geo_activity_playground/core/privacy_zones.py,sha256=4TumHsVUN1uW6RG3ArqTXDykPVipF98DCxVBe7YNdO8,512
11
12
  geo_activity_playground/core/raster_map.py,sha256=RrbpotWIIT1friSewSxRczk4FY6v8ofOO6kO1ERMWvM,6962
12
13
  geo_activity_playground/core/similarity.py,sha256=Jo8jRViuORCxdIGvyaflgsQhwu9S_jn10a450FRL18A,3159
14
+ geo_activity_playground/core/summary_stats.py,sha256=vi-vWETCkl0ZhMFxTzaZRhh5X-QdDhgsT_bleQjaOto,1032
13
15
  geo_activity_playground/core/tasks.py,sha256=aMDBWJqp6ek2ao6G6Xa8GOSZbcQqXoWL74SGRowRPIk,2942
16
+ geo_activity_playground/core/test_meta_search.py,sha256=ecmDLu7YOdue210i29XE4yrOl349-_2E2rt20BvYSGg,2863
17
+ geo_activity_playground/core/test_summary_stats.py,sha256=OU2Epm1QFsEDYdWfCy5QUeFXqoIeG8Sk1tX8LbFj8Xk,3109
14
18
  geo_activity_playground/core/test_tiles.py,sha256=zce1FxNfsSpOQt66jMehdQRVoNdl-oiFydx6iVBHZXM,764
15
19
  geo_activity_playground/core/test_time_conversion.py,sha256=Sh6nZA3uCTOdZTZa3yOijtR0m74QtZu2mcWXsDNnyQI,984
16
20
  geo_activity_playground/core/tiles.py,sha256=lV6X1Uc9XQecu2LALIvxpnMcLsVtWx7JczJ5a_S1eZE,2139
@@ -38,7 +42,7 @@ geo_activity_playground/webui/activity/templates/activity/edit.html.j2,sha256=ck
38
42
  geo_activity_playground/webui/activity/templates/activity/lines.html.j2,sha256=_ZDg1ruW-9UMJfOudy1-uY_-IcSSaagq7tPCih5Bb8g,1079
39
43
  geo_activity_playground/webui/activity/templates/activity/name.html.j2,sha256=tKviMqMouHEGv3xBQVIsJgwj_hjwAsmGVefM3UMqlYg,2437
40
44
  geo_activity_playground/webui/activity/templates/activity/show.html.j2,sha256=bEx37UGSTeeJl7gN4fjyOpINFQwZ5Zm-HOKpLqcJGfs,6905
41
- geo_activity_playground/webui/app.py,sha256=eXF7reuw6bX-Ez3hDK3nPacePrD4XRcElp0gBRdyWoI,5440
45
+ geo_activity_playground/webui/app.py,sha256=jRrVzpSRZyA6AwRO1IOD8lOdoWm2rNO4e8Vpb6b8NdI,5575
42
46
  geo_activity_playground/webui/auth_blueprint.py,sha256=sERpBU6cXdBuVjMMiRQBGJMibFZCfrUXMPj4ukzd_Ug,783
43
47
  geo_activity_playground/webui/authenticator.py,sha256=k278OEVuOfAmTGT4F2X4pqSTwwkK_FA87EIhAeysEqc,1416
44
48
  geo_activity_playground/webui/calendar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -46,22 +50,20 @@ geo_activity_playground/webui/calendar/blueprint.py,sha256=Kjyx9lkJoM5tL8vNba0Y7
46
50
  geo_activity_playground/webui/calendar/controller.py,sha256=QpSAkR2s1sbLSu6P_fNNTccgGglOzEH2PIv1XwKxeVY,2778
47
51
  geo_activity_playground/webui/calendar/templates/calendar/index.html.j2,sha256=xoR6R4cUgTQNRHQv3m3f4Bc-yCjJEsJj5d4_CWlJsRo,1427
48
52
  geo_activity_playground/webui/calendar/templates/calendar/month.html.j2,sha256=sRIiNo_Rp9CHary6e-lnpKJKOuAonoDEBvKMxzbTLQE,1802
49
- geo_activity_playground/webui/eddington_blueprint.py,sha256=70Jyrlv9s2HAbspJ-7JAOZsH02PrIbMCRL28wNomVgk,3084
53
+ geo_activity_playground/webui/eddington_blueprint.py,sha256=EG8Bi6jiowPsevmBA7Rld7VMIe4FeaOKnOKbeTA6nAE,3381
50
54
  geo_activity_playground/webui/entry_controller.py,sha256=McxbyouKWHJ3a2R9agPazZoG7VHiFO1RvnkBr08dMH8,2168
51
- geo_activity_playground/webui/equipment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
- geo_activity_playground/webui/equipment/blueprint.py,sha256=kJhCSdakke_UhT2RIP-fMoAMaC1oFttRoCPeiAIaB6g,491
53
- geo_activity_playground/webui/equipment/controller.py,sha256=lMivui3EBUnkYZf9Lgv1kHZ0c7IxRAza-ox8YOz3ONY,4079
54
- geo_activity_playground/webui/equipment/templates/equipment/index.html.j2,sha256=fvRaDbCuiSZ8AzJTpu1dk8FTAGZ2yfsLhprtVYHFZWo,1802
55
+ geo_activity_playground/webui/equipment_blueprint.py,sha256=OfcnEN6OdwO4WiKGBwN-NOgITnsE0otjoodZv8ctpNc,3155
55
56
  geo_activity_playground/webui/explorer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
57
  geo_activity_playground/webui/explorer/blueprint.py,sha256=iLmdayavR7B1_l67VvkMGsaYeABSXEe9IwTydK_-Owg,2027
57
58
  geo_activity_playground/webui/explorer/controller.py,sha256=pIzWh0TpLJgKQZlS325-QT7nA1q9ms7fRqQIp24PNfo,11705
58
59
  geo_activity_playground/webui/explorer/templates/explorer/index.html.j2,sha256=3t9ikAF6oMvEaVlS3Kb1tj9ngomIQlatzqPnqVsEDKA,6908
59
60
  geo_activity_playground/webui/heatmap/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
- geo_activity_playground/webui/heatmap/blueprint.py,sha256=-Cd-b2_3uU-6tBDsqlbyrVacftDod8SoIZnDRsIC5H8,2548
61
- geo_activity_playground/webui/heatmap/heatmap_controller.py,sha256=kO9IrRdaIcCuTu6d5lSOi8rLbBl_gqbht9psGtPzbIk,10709
62
- geo_activity_playground/webui/heatmap/templates/heatmap/index.html.j2,sha256=lO3WdD7CkLSnTuQeQMvCkuFpJbL_TDp7Zocbwbug0wg,2512
61
+ geo_activity_playground/webui/heatmap/blueprint.py,sha256=f1STNpEqT4XjFExi4p-Cc65jWNt93JFgEF62n1iIKF8,1796
62
+ geo_activity_playground/webui/heatmap/heatmap_controller.py,sha256=rKhPUEHQDY0ZoSY0CHywJLRbJThKuSp6ywkevlsBHcM,8591
63
+ geo_activity_playground/webui/heatmap/templates/heatmap/index.html.j2,sha256=_yQnFgP4OHJVWkIInEorRUxzsACVBiax6AR2eRCdLVI,1303
63
64
  geo_activity_playground/webui/plot_util.py,sha256=pTTQoqOCkLVjkgOit7mbry28kMruZIL8amZozSzEpxQ,283
64
- geo_activity_playground/webui/search_blueprint.py,sha256=3EBj70BHxEj8ZInK0Fj04p3JJMcHByj-xwOISmaj_4E,3299
65
+ geo_activity_playground/webui/search_blueprint.py,sha256=Opkka02-2jnOhisacpESyrJUEIoqgeGZLQov6pZDR6E,1114
66
+ geo_activity_playground/webui/search_util.py,sha256=bphZzhvlBFj8dubpPdDHiZ-BmcvmPVoEPyhD3cBsbvc,852
65
67
  geo_activity_playground/webui/settings/blueprint.py,sha256=l5H9kxjwMpqPQoF8moIp3r6oU-RQmuWr38yiHUZYU00,9391
66
68
  geo_activity_playground/webui/settings/controller.py,sha256=MIZVBfoGNvmJnB_ECV_x5eH2i6gDZvkWSQ4PcSKyLKs,9170
67
69
  geo_activity_playground/webui/settings/templates/settings/admin-password.html.j2,sha256=VYwddpObD1RpeTH5Dm4y7VtmT7kwURDCIjxyzJeq08c,495
@@ -106,20 +108,22 @@ geo_activity_playground/webui/static/vega-lite@4,sha256=roXmcY9bUF91uB9V-eSEUHEg
106
108
  geo_activity_playground/webui/static/vega@5,sha256=5DLHUaY2P0ph2mKSDMfX69E88J2ClJ-PSGJI-Acdw84,514536
107
109
  geo_activity_playground/webui/static/web-app-manifest-192x192.png,sha256=eEImN6iWfSv-EnSNPL5WbX84PKakse_8VZMBPWWye3o,13582
108
110
  geo_activity_playground/webui/static/web-app-manifest-512x512.png,sha256=vU9oQ4HnQerFDZVzcAT9twj4_Doc6_9v9wVvoRI-f_E,48318
109
- geo_activity_playground/webui/summary_blueprint.py,sha256=FrPQgx6-lOX3DiaCveJu_n0a_mSTt-XUMxWVcHNkUUU,9399
111
+ geo_activity_playground/webui/summary_blueprint.py,sha256=IHMrNxnE69G6OQc84hUpYR8oZLEOPJ3PBo01I4S9kX4,9609
110
112
  geo_activity_playground/webui/templates/auth/index.html.j2,sha256=ILQ5HvTEYc3OrtOAIFt1VrqWorVD70V9DC342znmP70,579
111
- geo_activity_playground/webui/templates/eddington/index.html.j2,sha256=XHKeUymQMS5x00PLOVlg-nSRCz_jHB2pvD8QunULWJ4,1839
113
+ geo_activity_playground/webui/templates/eddington/index.html.j2,sha256=_h1OW8HXyKp8-Ko8WDqtgYGj7PkX1ZM_zT1i9HRe7Ow,1978
114
+ geo_activity_playground/webui/templates/equipment/index.html.j2,sha256=4FsMPjse9iZsWZiwD9At95CdUa_pVf2g7UugygOH8vk,1672
112
115
  geo_activity_playground/webui/templates/home.html.j2,sha256=IdCqI_LLcYrpUjjCO-tbXR4s05XYrPOateiJ4idF3bo,2202
113
116
  geo_activity_playground/webui/templates/page.html.j2,sha256=CHRvO2HGHjBnMNffX7a-C-pm2544wErKOcW66lghKos,10785
114
- geo_activity_playground/webui/templates/search/index.html.j2,sha256=d39uhteoY6JOZePqhLIYLERqkckW3oghMnTUZa7X1J8,3798
117
+ geo_activity_playground/webui/templates/search/index.html.j2,sha256=epTv1EnEma9o_tRzYFqedidCGRFkdrmpSjhuKcw4l4M,1081
118
+ geo_activity_playground/webui/templates/search_form.html.j2,sha256=PY0aq_RPwQKCiHlMXgIUSSLTqdYHqxnzyKUTS864D5Q,4391
115
119
  geo_activity_playground/webui/templates/square_planner/index.html.j2,sha256=xFbYBQtkOl3U4WGkvIuU_5uazGHn8ObvQfNgPGq0Gqg,6469
116
- geo_activity_playground/webui/templates/summary/index.html.j2,sha256=ctOx3Qjx6nRDpUtFf1DlJhK_gtU77Vwx_S6euLz9-W4,5183
120
+ geo_activity_playground/webui/templates/summary/index.html.j2,sha256=nouZn4YAc1wJCTYhxIvM2V7296RORLj_i5v9aH9rRVU,5321
117
121
  geo_activity_playground/webui/templates/upload/index.html.j2,sha256=I1Ix8tDS3YBdi-HdaNfjkzYXVVCjfUTe5PFTnap1ydc,775
118
122
  geo_activity_playground/webui/templates/upload/reload.html.j2,sha256=YZWX5eDeNyqKJdQAywDBcU8DZBm22rRBbZqFjrFrCvQ,556
119
123
  geo_activity_playground/webui/tile_blueprint.py,sha256=QU8YRjhMf-lhPJGqrCjV49QBX0ATgTny96GYhqJwwyI,1755
120
124
  geo_activity_playground/webui/upload_blueprint.py,sha256=Ha3H5Dsl6YS6YYmFouXamU8viEpLIj1YIE9XJVCiakY,4368
121
- geo_activity_playground-0.36.1.dist-info/LICENSE,sha256=4RpAwKO8bPkfXH2lnpeUW0eLkNWglyG4lbrLDU_MOwY,1070
122
- geo_activity_playground-0.36.1.dist-info/METADATA,sha256=FPKNfpP12TAxEuUWa2UBvlP7JWpBc7gculCSzOnPyP8,1573
123
- geo_activity_playground-0.36.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
124
- geo_activity_playground-0.36.1.dist-info/entry_points.txt,sha256=pbNlLI6IIZIp7nPYCfAtiSiz2oxJSCl7DODD6SPkLKk,81
125
- geo_activity_playground-0.36.1.dist-info/RECORD,,
125
+ geo_activity_playground-0.37.0.dist-info/LICENSE,sha256=4RpAwKO8bPkfXH2lnpeUW0eLkNWglyG4lbrLDU_MOwY,1070
126
+ geo_activity_playground-0.37.0.dist-info/METADATA,sha256=-ruL3WWAYfBhW820HW83aWlgis3TscGU96JTT11A8DE,1573
127
+ geo_activity_playground-0.37.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
128
+ geo_activity_playground-0.37.0.dist-info/entry_points.txt,sha256=pbNlLI6IIZIp7nPYCfAtiSiz2oxJSCl7DODD6SPkLKk,81
129
+ geo_activity_playground-0.37.0.dist-info/RECORD,,
File without changes
@@ -1,16 +0,0 @@
1
- from flask import Blueprint
2
- from flask import render_template
3
-
4
- from geo_activity_playground.webui.equipment.controller import EquipmentController
5
-
6
-
7
- def make_equipment_blueprint(equipment_controller: EquipmentController) -> Blueprint:
8
- blueprint = Blueprint("equipment", __name__, template_folder="templates")
9
-
10
- @blueprint.route("/")
11
- def index():
12
- return render_template(
13
- "equipment/index.html.j2", **equipment_controller.render()
14
- )
15
-
16
- return blueprint