geo-activity-playground 0.40.1__py3-none-any.whl → 0.41.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.
- geo_activity_playground/alembic/versions/38882503dc7c_add_tags_to_activities.py +70 -0
- geo_activity_playground/alembic/versions/script.py.mako +0 -6
- geo_activity_playground/core/activities.py +17 -30
- geo_activity_playground/core/datamodel.py +81 -0
- geo_activity_playground/webui/app.py +6 -2
- geo_activity_playground/webui/blueprints/activity_blueprint.py +20 -3
- geo_activity_playground/webui/blueprints/bubble_chart_blueprint.py +50 -25
- geo_activity_playground/webui/blueprints/calendar_blueprint.py +12 -4
- geo_activity_playground/webui/blueprints/eddington_blueprints.py +253 -0
- geo_activity_playground/webui/blueprints/entry_views.py +30 -15
- geo_activity_playground/webui/blueprints/explorer_blueprint.py +83 -9
- geo_activity_playground/webui/blueprints/summary_blueprint.py +102 -42
- geo_activity_playground/webui/columns.py +37 -0
- geo_activity_playground/webui/templates/activity/show.html.j2 +15 -4
- geo_activity_playground/webui/templates/bubble_chart/index.html.j2 +24 -8
- geo_activity_playground/webui/templates/eddington/elevation_gain.html.j2 +150 -0
- geo_activity_playground/webui/templates/elevation_eddington/index.html.j2 +150 -0
- geo_activity_playground/webui/templates/explorer/server-side.html.j2 +72 -0
- geo_activity_playground/webui/templates/home.html.j2 +14 -5
- geo_activity_playground/webui/templates/page.html.j2 +10 -1
- geo_activity_playground/webui/templates/summary/index.html.j2 +91 -2
- {geo_activity_playground-0.40.1.dist-info → geo_activity_playground-0.41.0.dist-info}/METADATA +1 -1
- {geo_activity_playground-0.40.1.dist-info → geo_activity_playground-0.41.0.dist-info}/RECORD +27 -22
- geo_activity_playground/webui/blueprints/eddington_blueprint.py +0 -194
- /geo_activity_playground/webui/templates/eddington/{index.html.j2 → distance.html.j2} +0 -0
- {geo_activity_playground-0.40.1.dist-info → geo_activity_playground-0.41.0.dist-info}/LICENSE +0 -0
- {geo_activity_playground-0.40.1.dist-info → geo_activity_playground-0.41.0.dist-info}/WHEEL +0 -0
- {geo_activity_playground-0.40.1.dist-info → geo_activity_playground-0.41.0.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,150 @@
|
|
1
|
+
{% extends "page.html.j2" %}
|
2
|
+
{% from "search_form.html.j2" import search_form %}
|
3
|
+
|
4
|
+
{% block container %}
|
5
|
+
<h1 class="mb-3">Eddington Number for Elevation Gain</h1>
|
6
|
+
|
7
|
+
<div class="mb-3">
|
8
|
+
{{ search_form(query, equipments_avail, kinds_avail, search_query_favorites, search_query_last, request_url) }}
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class="row mb-3">
|
12
|
+
<div class="col-md-4">
|
13
|
+
<form method="GET">
|
14
|
+
<div class="mb-3">
|
15
|
+
<label class="form-label">Divisor</label>
|
16
|
+
<select class="form-select" aria-label="Divisor" name="elevation_eddington_divisor" onchange="this.form.submit()">
|
17
|
+
{% for dv in divisor_values_avail %}
|
18
|
+
<option {% if dv==elevation_eddington_divisor %} selected {% endif %}>{{ dv }}</option>
|
19
|
+
{% endfor %}
|
20
|
+
{% for key, value in query.items() %}
|
21
|
+
{% if value and key != "active" %}
|
22
|
+
{% if value is sequence %}
|
23
|
+
{% for v in value %}
|
24
|
+
<input type="hidden" name="{{ key }}" value="{{ v }}"/>
|
25
|
+
{% endfor %}
|
26
|
+
{% else %}
|
27
|
+
<input type="hidden" name="{{ key }}" value="{{ value }}"/>
|
28
|
+
{% endif %}
|
29
|
+
{% endif %}
|
30
|
+
{% endfor %}
|
31
|
+
</select>
|
32
|
+
</div>
|
33
|
+
</form>
|
34
|
+
|
35
|
+
<h2>Definition</h2>
|
36
|
+
|
37
|
+
<p>Your Eddington number with divisor {{ elevation_eddington_divisor }} is <b>{{ eddington_number }}</b>.</p>
|
38
|
+
|
39
|
+
<p>That means that on {{ (eddington_number / elevation_eddington_divisor) | int }} separate days you
|
40
|
+
have recorded activities with an elevation gain of more than {{ eddington_number }} m. Going high is one thing, going often is
|
41
|
+
another. But going high often is hard. Also if you increment the Eddington number, all days with less
|
42
|
+
elevation gain will not count any more. It becomes increasingly hard to increment the Eddington number because you
|
43
|
+
don't only need to achieve a higher count, but all flatter activities don't count towards the bigger number.
|
44
|
+
</p>
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<div class="col-md-8">
|
48
|
+
<h2>Missing days</h2>
|
49
|
+
|
50
|
+
<p>How many more days do you need to increment your Eddington number?</p>
|
51
|
+
|
52
|
+
<table class="table">
|
53
|
+
<thead>
|
54
|
+
<tr>
|
55
|
+
<th>Elevation Gain</th>
|
56
|
+
<th>Count</th>
|
57
|
+
<th>Missing days</th>
|
58
|
+
</tr>
|
59
|
+
</thead>
|
60
|
+
<tbody>
|
61
|
+
{% for row in eddington_table %}
|
62
|
+
<tr>
|
63
|
+
<td>{{ row['elevation_gain'] }}</td>
|
64
|
+
<td>{{ row['total'] }}</td>
|
65
|
+
<td>{{ row['missing'] }}</td>
|
66
|
+
</tr>
|
67
|
+
{% endfor %}
|
68
|
+
</tbody>
|
69
|
+
</table>
|
70
|
+
</div>
|
71
|
+
</div>
|
72
|
+
|
73
|
+
<div class="row mb-1">
|
74
|
+
<div class="col">
|
75
|
+
<h2>Plot</h2>
|
76
|
+
|
77
|
+
<p>In a graphical representation, the Eddington number is the elevation gain where the red line intersects with the
|
78
|
+
blue area.</p>
|
79
|
+
|
80
|
+
{{ vega_direct("logarithmic_plot", logarithmic_plot) }}
|
81
|
+
</div>
|
82
|
+
</div>
|
83
|
+
|
84
|
+
<div class="mb-3">
|
85
|
+
<h2 class="mb-3">Eddington number history</h2>
|
86
|
+
|
87
|
+
<p>How did the Eddington number evolve over time?</p>
|
88
|
+
|
89
|
+
{{ vega_direct("eddington_number_history_plot", eddington_number_history_plot) }}
|
90
|
+
</div>
|
91
|
+
|
92
|
+
<div class="mb-3">
|
93
|
+
<h2 class="mb-3">Yearly Eddington number</h2>
|
94
|
+
|
95
|
+
<p>If we only consider the activities within one calendar year for the Eddington number, we get the following:</p>
|
96
|
+
|
97
|
+
<table class="table">
|
98
|
+
<thead>
|
99
|
+
<tr>
|
100
|
+
<th>Year</th>
|
101
|
+
<th>Eddington number</th>
|
102
|
+
</tr>
|
103
|
+
</thead>
|
104
|
+
<tbody>
|
105
|
+
{% for year, eddington in yearly_eddington.items() %}
|
106
|
+
<tr>
|
107
|
+
<td>{{ year }}</td>
|
108
|
+
<td>{{ eddington }}</td>
|
109
|
+
</tr>
|
110
|
+
{% endfor %}
|
111
|
+
</tbody>
|
112
|
+
</table>
|
113
|
+
</div>
|
114
|
+
|
115
|
+
|
116
|
+
<h2 class="mb-3">Eddington number per Week</h2>
|
117
|
+
|
118
|
+
<div class="row mb-3">
|
119
|
+
<div class="col-md-8">
|
120
|
+
{{ vega_direct("eddington_per_week_plot", eddington_per_week_plot) }}
|
121
|
+
</div>
|
122
|
+
|
123
|
+
<div class="col-md-4">
|
124
|
+
<table class="table">
|
125
|
+
<thead>
|
126
|
+
<tr>
|
127
|
+
<th>Elevation Gain</th>
|
128
|
+
<th>Count</th>
|
129
|
+
<th>Missing weeks</th>
|
130
|
+
</tr>
|
131
|
+
</thead>
|
132
|
+
<tbody>
|
133
|
+
{% for row in eddington_table_weeks %}
|
134
|
+
<tr>
|
135
|
+
<td>{{ row['elevation_gain'] }}</td>
|
136
|
+
<td>{{ row['total'] }}</td>
|
137
|
+
<td>{{ row['missing'] }}</td>
|
138
|
+
</tr>
|
139
|
+
{% endfor %}
|
140
|
+
</tbody>
|
141
|
+
</table>
|
142
|
+
</div>
|
143
|
+
</div>
|
144
|
+
|
145
|
+
<div class="row mb-1">
|
146
|
+
|
147
|
+
</div>
|
148
|
+
|
149
|
+
|
150
|
+
{% endblock %}
|
@@ -0,0 +1,72 @@
|
|
1
|
+
{% extends "page.html.j2" %}
|
2
|
+
|
3
|
+
{% block container %}
|
4
|
+
|
5
|
+
<h1>Explorer Tiles</h1>
|
6
|
+
|
7
|
+
{% if zoom_level_not_generated %}
|
8
|
+
<p>You try to access explorer tiles for a level that hasn't been generated before. That is not a problem, we just don't
|
9
|
+
generate all levels to save a bit of time. If you want to have it, just enable it!</p>
|
10
|
+
|
11
|
+
<a href="{{ url_for('.enable_zoom_level', zoom=zoom_level_not_generated) }}" class="btn btn-primary">Enable Zoom {{
|
12
|
+
zoom_level_not_generated }}</a>
|
13
|
+
{% else %}
|
14
|
+
|
15
|
+
<div class="row mb-3">
|
16
|
+
<div class="col">
|
17
|
+
<h2>Map with explored tiles</h2>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<div class="row mb-3">
|
22
|
+
<div class="col">
|
23
|
+
<div id="explorer-map" class="mb-1" style="height: 800px;"></div>
|
24
|
+
<p>Download tiles in visible area: <a href="#" onclick="downloadAs('explored.geojson')">Explored as GeoJSON</a>,
|
25
|
+
<a href="#" onclick="downloadAs('explored.gpx')"">Explored as GPX</a>, <a href=" #"
|
26
|
+
onclick="downloadAs('missing.geojson')">Missing as GeoJSON</a> or <a href="#"
|
27
|
+
onclick="downloadAs('missing.gpx')"">Missing as GPX</a>.</p>
|
28
|
+
<script>
|
29
|
+
let map = L.map('explorer-map', {
|
30
|
+
fullscreenControl: true,
|
31
|
+
center: [{{ center.latitude }}, {{ center.longitude }}],
|
32
|
+
zoom: 12
|
33
|
+
});
|
34
|
+
L.tileLayer('/explorer/{{ zoom }}/tile/{z}/{x}/{y}.png', {
|
35
|
+
maxZoom: 19,
|
36
|
+
attribution: '{{ map_tile_attribution|safe }}'
|
37
|
+
}).addTo(map)
|
38
|
+
|
39
|
+
let bbox = {{ center.bbox| safe }}
|
40
|
+
if (bbox) {
|
41
|
+
map.fitBounds(L.geoJSON(bbox).getBounds())
|
42
|
+
}
|
43
|
+
</script>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<div class=" row mb-3">
|
48
|
+
<div class="col">
|
49
|
+
<h2>Tile history</h2>
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
|
53
|
+
<div class="row mb-3">
|
54
|
+
<div class="col-md-4">
|
55
|
+
{% if plot_tile_evolution|length > 0 %}
|
56
|
+
{{ vega_direct("plot_tile_evolution", plot_tile_evolution) }}
|
57
|
+
{% endif %}
|
58
|
+
</div>
|
59
|
+
<div class="col-md-4">
|
60
|
+
{% if plot_cluster_evolution|length > 0 %}
|
61
|
+
{{ vega_direct("plot_cluster_evolution", plot_cluster_evolution) }}
|
62
|
+
{% endif %}
|
63
|
+
</div>
|
64
|
+
<div class="col-md-4">
|
65
|
+
{% if plot_square_evolution|length > 0 %}
|
66
|
+
{{ vega_direct("plot_square_evolution", plot_square_evolution) }}
|
67
|
+
{% endif %}
|
68
|
+
</div>
|
69
|
+
</div>
|
70
|
+
|
71
|
+
{% endif %}
|
72
|
+
{% endblock %}
|
@@ -9,11 +9,10 @@
|
|
9
9
|
<div class="col">
|
10
10
|
<h2>Last 30 days</h2>
|
11
11
|
{{ vega_direct("distance-last-30-days", distance_last_30_days_plot) }}
|
12
|
+
{{ vega_direct("elevation-gain-last-30-days", elevation_gain_last_30_days_plot) }}
|
12
13
|
</div>
|
13
14
|
</div>
|
14
15
|
|
15
|
-
|
16
|
-
|
17
16
|
<script>
|
18
17
|
function add_map(id, geojson) {
|
19
18
|
let map = L.map(`map-${id}`, {
|
@@ -45,11 +44,21 @@
|
|
45
44
|
</script>
|
46
45
|
<div class="card-body">
|
47
46
|
<a href="{{ url_for('activity.show', id=elem.activity.id) }}">
|
48
|
-
<h5 class="card-title">{{ elem.activity
|
47
|
+
<h5 class="card-title">{{ elem.activity.name }}</h5>
|
49
48
|
</a>
|
50
|
-
<p class="card-text">
|
51
|
-
elem.activity.
|
49
|
+
<p class="card-text">
|
50
|
+
{{ elem.activity.kind.name }} with
|
51
|
+
📏 {{ (elem.activity.distance_km)|round(1) }} km
|
52
|
+
{% if elem.activity.elapsed_time %}
|
53
|
+
⏱️ {{ elem.activity.elapsed_time|td }}
|
54
|
+
{% endif %}
|
55
|
+
{% if elem.activity.elevation_gain %}
|
56
|
+
⛰️ {{ (elem.activity.elevation_gain)|round|int }} m
|
57
|
+
{% endif %}
|
58
|
+
</p>
|
59
|
+
{% if elem.activity.start %}
|
52
60
|
<p class="card-text"><small class="text-body-secondary">{{ elem.activity.start|dt }}</small></p>
|
61
|
+
{% endif %}
|
53
62
|
</div>
|
54
63
|
</div>
|
55
64
|
</div>
|
@@ -78,9 +78,12 @@
|
|
78
78
|
<li><a class="dropdown-item" href="{{ url_for('summary.index') }}">Summary
|
79
79
|
Statistics</a>
|
80
80
|
</li>
|
81
|
-
<li><a class="dropdown-item" href="{{ url_for('eddington.
|
81
|
+
<li><a class="dropdown-item" href="{{ url_for('eddington.distance') }}">Eddington
|
82
82
|
Number</a>
|
83
83
|
</li>
|
84
|
+
<li><a class="dropdown-item" href="{{ url_for('eddington.elevation_gain') }}">Elevation
|
85
|
+
Eddington Number</a>
|
86
|
+
</li>
|
84
87
|
<li><a class="dropdown-item" href="{{ url_for('equipment.index') }}">Equipment</a></li>
|
85
88
|
</ul>
|
86
89
|
</li>
|
@@ -95,6 +98,12 @@
|
|
95
98
|
Tiles (Zoom 14)</a></li>
|
96
99
|
<li><a class="dropdown-item" href="{{ url_for('explorer.map', zoom=17) }}">Squadratinhos
|
97
100
|
(Zoom 17)</a></li>
|
101
|
+
<li><a class="dropdown-item" href="{{ url_for('explorer.server_side', zoom=14) }}">Fast
|
102
|
+
Explorer
|
103
|
+
Tiles (Zoom 14)</a></li>
|
104
|
+
<li><a class="dropdown-item" href="{{ url_for('explorer.server_side', zoom=17) }}">Fast
|
105
|
+
Squadratinhos
|
106
|
+
(Zoom 17)</a></li>
|
98
107
|
|
99
108
|
<li>
|
100
109
|
<hr class="dropdown-divider">
|
@@ -40,7 +40,6 @@
|
|
40
40
|
</div>
|
41
41
|
</div>
|
42
42
|
|
43
|
-
|
44
43
|
<p>How much distance have you covered in each year up to that time of the year? The first plot gives you each year as
|
45
44
|
one line. The second plot shows you how distance you have covered in each year and with which activity kinds.</p>
|
46
45
|
|
@@ -112,6 +111,96 @@
|
|
112
111
|
{% endfor %}
|
113
112
|
</div>
|
114
113
|
|
114
|
+
<h2>Elevation Gain</h2>
|
115
|
+
|
116
|
+
<p>This is your weekly elevation gain for the past rolling year, split by activity kind.</p>
|
117
|
+
|
118
|
+
<div class="row mb-3">
|
119
|
+
<div class="col">
|
120
|
+
{{ vega_direct("plot_weekly_elevation_gain", plot_weekly_elevation_gain) }}
|
121
|
+
</div>
|
122
|
+
</div>
|
123
|
+
|
124
|
+
<p>Similarly, you find the same data but aggregated by whole months for the past two years. Also split by activity kind.
|
125
|
+
</p>
|
126
|
+
|
127
|
+
<div class="row mb-3">
|
128
|
+
<div class="col">
|
129
|
+
{{ vega_direct("plot_monthly_elevation_gain", plot_monthly_elevation_gain) }}
|
130
|
+
</div>
|
131
|
+
</div>
|
132
|
+
|
133
|
+
<p>How much elevation have you gained in each year up to that time of the year? The first plot gives you each year as
|
134
|
+
one line. The second plot shows you how much elevation you have gained in each year and with which activity kinds.</p>
|
135
|
+
|
136
|
+
<div class="row mb-3">
|
137
|
+
<div class="col-md-6">
|
138
|
+
{{ vega_direct("plot_year_elevation_gain_cumulative", plot_year_elevation_gain_cumulative) }}
|
139
|
+
</div>
|
140
|
+
<div class="col-md-6">
|
141
|
+
{{ vega_direct("plot_yearly_elevation_gain", plot_yearly_elevation_gain) }}
|
142
|
+
</div>
|
143
|
+
</div>
|
144
|
+
|
145
|
+
<div class="row mb-3">
|
146
|
+
<div class="col-md-4">
|
147
|
+
<p>What's the average elevation gain per activity? This naturally differs per activity and perhaps also varies with
|
148
|
+
the years. This table gives you all the mean values.</p>
|
149
|
+
</div>
|
150
|
+
|
151
|
+
<div class="col-md-8">
|
152
|
+
<table class="table table-sort table-arrows">
|
153
|
+
<thead>
|
154
|
+
<tr>
|
155
|
+
<th style="text-align: right;">Year</th>
|
156
|
+
{% for col in tabulate_year_kind_mean_elevation_gain['columns'][1:] %}
|
157
|
+
<th style="text-align: right;">{{ col }}</th>
|
158
|
+
{% endfor %}
|
159
|
+
</tr>
|
160
|
+
</thead>
|
161
|
+
<tbody>
|
162
|
+
{% for row in tabulate_year_kind_mean_elevation_gain['data'] %}
|
163
|
+
<tr>
|
164
|
+
{% for value in row %}
|
165
|
+
<td align="right">
|
166
|
+
{% if value == value %}
|
167
|
+
{{ value | round(1) }}
|
168
|
+
{% if not loop.first %}
|
169
|
+
m
|
170
|
+
{% endif %}
|
171
|
+
{% endif %}
|
172
|
+
</td>
|
173
|
+
{% endfor %}
|
174
|
+
</tr>
|
175
|
+
{% endfor %}
|
176
|
+
</tbody>
|
177
|
+
</table>
|
178
|
+
</div>
|
179
|
+
</div>
|
180
|
+
|
181
|
+
<p>Next we take one row per month, each column is a day-of-month. The brighter a box, the more elevation gain you have covered
|
182
|
+
on that day. This makes it easy to spot those days where you really covered a lot of elevation gain!</p>
|
183
|
+
|
184
|
+
|
185
|
+
<ul class="nav nav-pills mb-3" id="myTab" role="tablist">
|
186
|
+
{% for year, plot in plot_elevation_gain_heatmaps.items() %}
|
187
|
+
<li class="nav-item" role="presentation">
|
188
|
+
<button class="nav-link {% if loop.last %} active {% endif %}" id="heatmap-elevation-gain-{{ year }}" data-bs-toggle="tab"
|
189
|
+
data-bs-target="#heatmap-elevation-gain-{{ year }}-pane" type="button" role="tab" aria-controls="heatmap-elevation-gain-{{ year }}-pane"
|
190
|
+
aria-selected="{{ loop.last }}">{{ year }}</button>
|
191
|
+
</li>
|
192
|
+
{% endfor %}
|
193
|
+
</ul>
|
194
|
+
|
195
|
+
<div class="tab-content mb-3" id="myTabContent">
|
196
|
+
{% for year, plot in plot_elevation_gain_heatmaps.items() %}
|
197
|
+
<div class="tab-pane fade {% if loop.last %} show active {% endif %}" id="heatmap-elevation-gain-{{ year }}-pane" role="tabpanel"
|
198
|
+
aria-labelledby="heatmap-elevation-gain-{{ year }}" tabindex="0">
|
199
|
+
{{ vega_direct("plot_elevation_gain_heatmap_%d"|format(year), plot) }}
|
200
|
+
</div>
|
201
|
+
{% endfor %}
|
202
|
+
</div>
|
203
|
+
|
115
204
|
<h2>Hall of Fame</h2>
|
116
205
|
|
117
206
|
<script>
|
@@ -151,7 +240,7 @@
|
|
151
240
|
</ul>
|
152
241
|
</p>
|
153
242
|
<p class="card-text"><small class="text-body-secondary"></small>{{ activity.kind }} with {{
|
154
|
-
(activity.distance_km)|round(1) }} km in {{
|
243
|
+
(activity.distance_km)|round(1) }} km / {{activity.elevation_gain|round|int}} m in {{
|
155
244
|
activity.elapsed_time|td }} on {{ activity.start|dt }}</small></p>
|
156
245
|
</div>
|
157
246
|
</div>
|
{geo_activity_playground-0.40.1.dist-info → geo_activity_playground-0.41.0.dist-info}/RECORD
RENAMED
@@ -3,18 +3,19 @@ geo_activity_playground/__main__.py,sha256=eL7NlKydYrzi4ikTvvKmlwkEFxx0V6CXOHOhR
|
|
3
3
|
geo_activity_playground/alembic/README,sha256=MVlc9TYmr57RbhXET6QxgyCcwWP7w-vLkEsirENqiIQ,38
|
4
4
|
geo_activity_playground/alembic/env.py,sha256=46oMzwSROaAsYuYWTd46txFdRLD3adm_SCn01A_ex8Q,2081
|
5
5
|
geo_activity_playground/alembic/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
|
6
|
+
geo_activity_playground/alembic/versions/38882503dc7c_add_tags_to_activities.py,sha256=HmvYgHlVodHB7xyigg7zHkFXSi1znWqKfOHcd6y9sZE,3157
|
6
7
|
geo_activity_playground/alembic/versions/451e7836b53d_add_square_planner_bookmark.py,sha256=WrmlDllnJECg6cSOeS05wYCa977_SXbJUV5khDSzntw,1082
|
7
8
|
geo_activity_playground/alembic/versions/63d3b7f6f93c_initial_version.py,sha256=YTnnENkQ8WqLz7PFof7tUWNkWcoHGkAfAM52x1N9umo,3029
|
8
9
|
geo_activity_playground/alembic/versions/93cc82ad1b60_add_parametricplotspec.py,sha256=P9nG348kz6Wi2lD8lJ_f-0juBtlJb1tqBWYqP2XMQPE,1365
|
9
10
|
geo_activity_playground/alembic/versions/ab83b9d23127_add_upstream_id.py,sha256=Wz02lBP2r7-09DjuQP8u8i7ypQ2SZU5RUc422-_ZBDk,851
|
10
11
|
geo_activity_playground/alembic/versions/b03491c593f6_add_crop_indices.py,sha256=1pt7aes0PWJXZ98HxqeDK-ehaU9KLApjCmZYoqCa8V0,975
|
11
12
|
geo_activity_playground/alembic/versions/e02e27876deb_add_square_planner_bookmark_name.py,sha256=Y0OMxp5z_-CQ83rww6GEBFRawXu0J0pLrLArgSjJ7wQ,866
|
12
|
-
geo_activity_playground/alembic/versions/script.py.mako,sha256=
|
13
|
+
geo_activity_playground/alembic/versions/script.py.mako,sha256=JADdI7OljvzEw8JTwKoIw589EZWmKBjtqdRsjnpNd_c,578
|
13
14
|
geo_activity_playground/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
|
-
geo_activity_playground/core/activities.py,sha256=
|
15
|
+
geo_activity_playground/core/activities.py,sha256=0dZk_Xa033FwRVXotcac4BxyW0pLNQAymYiWUkVDIYI,4761
|
15
16
|
geo_activity_playground/core/config.py,sha256=eGWWbNfHa6H64AHCnFYTsAJ7-pWi-PhyxL4hjZ4u03U,5256
|
16
17
|
geo_activity_playground/core/coordinates.py,sha256=tDfr9mlXhK6E_MMIJ0vYWVCoH0Lq8uyuaqUgaa8i0jg,966
|
17
|
-
geo_activity_playground/core/datamodel.py,sha256=
|
18
|
+
geo_activity_playground/core/datamodel.py,sha256=tOGo5PqcKZ8g3EAqh4vsj8NGBm4WXqBi5ChyqZbmaik,12866
|
18
19
|
geo_activity_playground/core/enrichment.py,sha256=kc9747ocSs2_3R7oW9Rjs3_lKP37gdvBUbyWpILaqHc,7346
|
19
20
|
geo_activity_playground/core/heart_rate.py,sha256=-S3WAhS7AOywrw_Lk5jfuo_fu6zvZQ1VtjwEKSycWpU,1542
|
20
21
|
geo_activity_playground/core/meta_search.py,sha256=naErjAC7ZCFhOF6d492kbegZxCdzbpGcJvjQLJTE4xE,5016
|
@@ -47,25 +48,26 @@ geo_activity_playground/importers/test_csv_parser.py,sha256=nOTVTdlzIY0TDcbWp7xN
|
|
47
48
|
geo_activity_playground/importers/test_directory.py,sha256=_fn_-y98ZyElbG0BRxAmGFdtGobUShPU86SdEOpuv-A,691
|
48
49
|
geo_activity_playground/importers/test_strava_api.py,sha256=7b8bl5Rh2BctCmvTPEhCadxtUOq3mfzuadD6F5XxRio,398
|
49
50
|
geo_activity_playground/webui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
50
|
-
geo_activity_playground/webui/app.py,sha256=
|
51
|
+
geo_activity_playground/webui/app.py,sha256=BOaYo3a8U53w7zgWHLDxiYxrWqHQyW5piGSNoMtW7lc,7277
|
51
52
|
geo_activity_playground/webui/authenticator.py,sha256=jtQqvpVHa_eLTAulmvvJgDRoCWOEege49G9zn3MfYk8,1394
|
52
53
|
geo_activity_playground/webui/blueprints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
53
|
-
geo_activity_playground/webui/blueprints/activity_blueprint.py,sha256=
|
54
|
+
geo_activity_playground/webui/blueprints/activity_blueprint.py,sha256=lUCoL5meZy2ovvTjLeam0nhTzNVrRpjKHrjW-vnlHcg,24974
|
54
55
|
geo_activity_playground/webui/blueprints/auth_blueprint.py,sha256=_VZeP3VN626BoOOZUkNVnuw9v-cEOrkHz5lhFPmxqMY,784
|
55
|
-
geo_activity_playground/webui/blueprints/bubble_chart_blueprint.py,sha256=
|
56
|
-
geo_activity_playground/webui/blueprints/calendar_blueprint.py,sha256=
|
57
|
-
geo_activity_playground/webui/blueprints/
|
58
|
-
geo_activity_playground/webui/blueprints/entry_views.py,sha256
|
56
|
+
geo_activity_playground/webui/blueprints/bubble_chart_blueprint.py,sha256=xESHzYxlbhz4oNDuxV0A70eVKpFwz84pYC3q_YVZZg8,2812
|
57
|
+
geo_activity_playground/webui/blueprints/calendar_blueprint.py,sha256=4EIBZ8rdXEu3tbl1faVlRwHb8Qp0JuMc3eyxwMkq6g8,2848
|
58
|
+
geo_activity_playground/webui/blueprints/eddington_blueprints.py,sha256=Umb2wtKmAXuQZEXt0d985qMILtvqc3vxj_yXymnzmUs,8702
|
59
|
+
geo_activity_playground/webui/blueprints/entry_views.py,sha256=RK2ypZO75DhweGjoKK7pG699urDB7twFkWaS2CyWmtw,2824
|
59
60
|
geo_activity_playground/webui/blueprints/equipment_blueprint.py,sha256=juQ5L2BlrECb00LBbiY2yc0b8W_B9Y3fPwtbiaRfgpo,5634
|
60
|
-
geo_activity_playground/webui/blueprints/explorer_blueprint.py,sha256=
|
61
|
+
geo_activity_playground/webui/blueprints/explorer_blueprint.py,sha256=6w6seOCVf7Z5y4BBtgVwoZ4t8qastnm7ViX8Bs_zj2w,15566
|
61
62
|
geo_activity_playground/webui/blueprints/heatmap_blueprint.py,sha256=iHI5YJYhX7ZOlzTgzl2efIRDzt3UMYCx7X4-LVd0MWk,8702
|
62
63
|
geo_activity_playground/webui/blueprints/plot_builder_blueprint.py,sha256=7HrjpBM-608HSOh0i31Lmt7yDNMfWlEn6G7DlYqlV9w,3031
|
63
64
|
geo_activity_playground/webui/blueprints/search_blueprint.py,sha256=Sv_KL1Cdai26y51qVfI-5jZLhtElREsEar1dbR_VAC4,2275
|
64
65
|
geo_activity_playground/webui/blueprints/settings_blueprint.py,sha256=UUv63BDQFnBPq8fLDdlWHd5mxL5qIgcGUuqQRFemyEA,16108
|
65
66
|
geo_activity_playground/webui/blueprints/square_planner_blueprint.py,sha256=xVaxJxmt8Dysl3UL9f2y__LVLtTH2Np1Ust4OSXKRAk,4746
|
66
|
-
geo_activity_playground/webui/blueprints/summary_blueprint.py,sha256
|
67
|
+
geo_activity_playground/webui/blueprints/summary_blueprint.py,sha256=rK4LGR2Rpioy4wSqNYuyRn4WxaWeBLensJ3PmAd-ouY,11469
|
67
68
|
geo_activity_playground/webui/blueprints/tile_blueprint.py,sha256=YzZf9OrNdjhc1_j4MtO1DMcw1uCv29ueNsYd-mWqgbg,837
|
68
69
|
geo_activity_playground/webui/blueprints/upload_blueprint.py,sha256=_VeGu08vlRZlRn5J4t7VdBk2TTW5GXB4JUcge9mbX9Y,4111
|
70
|
+
geo_activity_playground/webui/columns.py,sha256=hSW8bFVKRUMBlWZYAN-tZ_tfED3VDQK75e4Zzw7_jZ0,642
|
69
71
|
geo_activity_playground/webui/flasher.py,sha256=Covc1D9cO_jjokRWnvyiXCc2tfp3aZ8XkNqFdA1AXtk,500
|
70
72
|
geo_activity_playground/webui/plot_util.py,sha256=5Uesjj-xcMskQX2z9viDZYHSxLGrH2a5dHA1ogsJW9U,261
|
71
73
|
geo_activity_playground/webui/search_util.py,sha256=uAxnN9Tdei8IKV6Lqx4z5UIJf0_HKLd9NG9meiu5u4s,2202
|
@@ -107,18 +109,21 @@ geo_activity_playground/webui/templates/activity/day.html.j2,sha256=CHEvxlZralCm
|
|
107
109
|
geo_activity_playground/webui/templates/activity/edit.html.j2,sha256=9HDFjYfUQBB6HAgeIZppFPlpiJ1vDZWcGyP7uYG_Hnw,1369
|
108
110
|
geo_activity_playground/webui/templates/activity/lines.html.j2,sha256=_ZDg1ruW-9UMJfOudy1-uY_-IcSSaagq7tPCih5Bb8g,1079
|
109
111
|
geo_activity_playground/webui/templates/activity/name.html.j2,sha256=7Wbh3IrVL5lMRve467H0P10Shn5FzGpaXLhV0H-X4Hk,2725
|
110
|
-
geo_activity_playground/webui/templates/activity/show.html.j2,sha256=
|
112
|
+
geo_activity_playground/webui/templates/activity/show.html.j2,sha256=70zyc-fIr4JeU7VuLp_O4SYuNMkvDDTnsLFq7woYTlo,8964
|
111
113
|
geo_activity_playground/webui/templates/activity/trim.html.j2,sha256=3oAXQab6QqWjGBC9KCvWNOVn8uRmxoDLj3hx_O63TXc,1836
|
112
114
|
geo_activity_playground/webui/templates/auth/index.html.j2,sha256=ILQ5HvTEYc3OrtOAIFt1VrqWorVD70V9DC342znmP70,579
|
113
|
-
geo_activity_playground/webui/templates/bubble_chart/index.html.j2,sha256=
|
115
|
+
geo_activity_playground/webui/templates/bubble_chart/index.html.j2,sha256=yd7lWjtxxVmJZqCiXb0Y1gMEOQ7LQYJXEdpE7JB1OZY,1616
|
114
116
|
geo_activity_playground/webui/templates/calendar/index.html.j2,sha256=8dV9yeDwfv0Mm81mhiPHN5r3hdPUWl1Yye03x0Rqbo8,1601
|
115
117
|
geo_activity_playground/webui/templates/calendar/month.html.j2,sha256=IEhGqknL69okX5brMzTgZdnmrgUQLmGGkDE5zd7RG7s,2008
|
116
|
-
geo_activity_playground/webui/templates/eddington/
|
118
|
+
geo_activity_playground/webui/templates/eddington/distance.html.j2,sha256=_3oxzHhC_s9ATtvGmuIWKqvjIQYJNvdCxmYnOyN9QnY,3716
|
119
|
+
geo_activity_playground/webui/templates/eddington/elevation_gain.html.j2,sha256=an8eaZIMFpGwQiwVWkNhLtu6djl_NU7eTaOsBEiMUK8,4931
|
120
|
+
geo_activity_playground/webui/templates/elevation_eddington/index.html.j2,sha256=pG7w3QY0yZKI322_EzDgCc1c1p5k2Xl-WqemiKa4MVY,4969
|
117
121
|
geo_activity_playground/webui/templates/equipment/index.html.j2,sha256=wwrGmfCCBn-5CzMymi80hg3lNMZ7J1fAWWl_2zHeiMc,1845
|
118
122
|
geo_activity_playground/webui/templates/explorer/index.html.j2,sha256=3t9ikAF6oMvEaVlS3Kb1tj9ngomIQlatzqPnqVsEDKA,6908
|
123
|
+
geo_activity_playground/webui/templates/explorer/server-side.html.j2,sha256=3eYh3mmgPDmxFjH6Ofx1iw-jptcD9ctZixYh59mka3w,2496
|
119
124
|
geo_activity_playground/webui/templates/heatmap/index.html.j2,sha256=kTVvEt-GmSNebDlVMa6zwyIuP0mJcZQFuqj-IY8JV5U,1359
|
120
|
-
geo_activity_playground/webui/templates/home.html.j2,sha256=
|
121
|
-
geo_activity_playground/webui/templates/page.html.j2,sha256=
|
125
|
+
geo_activity_playground/webui/templates/home.html.j2,sha256=L0wVZ6RA3mel1Wt7ZD7PbaMUEEcdO2XLDy1e1ZdRPUY,2697
|
126
|
+
geo_activity_playground/webui/templates/page.html.j2,sha256=d8-wLkWPzcuvrbkAT1viTbeVyH29__TMyAoMjYmzuVs,11939
|
122
127
|
geo_activity_playground/webui/templates/plot_builder/edit.html.j2,sha256=x5Ki425me3HY6CcBQ37le9g8rCpbOxFVkdr0N_L84-g,2230
|
123
128
|
geo_activity_playground/webui/templates/plot_builder/index.html.j2,sha256=fBuGLT2HIwlgz5eGeKXOdIDqzDSQoY99w-hyt_0JP-w,832
|
124
129
|
geo_activity_playground/webui/templates/search/index.html.j2,sha256=_kxTgsdbT8o-4ryW0pvyWE7a-rOs7xzGUpdSPp8Q1is,1320
|
@@ -135,11 +140,11 @@ geo_activity_playground/webui/templates/settings/segmentation.html.j2,sha256=QV7
|
|
135
140
|
geo_activity_playground/webui/templates/settings/sharepic.html.j2,sha256=qZkfEpd4CtKKMaSSVadqvNEgMRYLV-0X-pw5-nJvukk,678
|
136
141
|
geo_activity_playground/webui/templates/settings/strava.html.j2,sha256=GCE5gskQ6xJ8AM1qGrrUVLDOiuqg510mWzzsZjia0gk,2211
|
137
142
|
geo_activity_playground/webui/templates/square_planner/index.html.j2,sha256=-OnY2nQCgZCslOzf28ogZwFykwF8tZm7PgFwOE3eBDk,8176
|
138
|
-
geo_activity_playground/webui/templates/summary/index.html.j2,sha256=
|
143
|
+
geo_activity_playground/webui/templates/summary/index.html.j2,sha256=ozGuoF36RBUN56Cnc8AFFguRdu_c4dP4eAotw8aidE8,9262
|
139
144
|
geo_activity_playground/webui/templates/upload/index.html.j2,sha256=I1Ix8tDS3YBdi-HdaNfjkzYXVVCjfUTe5PFTnap1ydc,775
|
140
145
|
geo_activity_playground/webui/templates/upload/reload.html.j2,sha256=YZWX5eDeNyqKJdQAywDBcU8DZBm22rRBbZqFjrFrCvQ,556
|
141
|
-
geo_activity_playground-0.
|
142
|
-
geo_activity_playground-0.
|
143
|
-
geo_activity_playground-0.
|
144
|
-
geo_activity_playground-0.
|
145
|
-
geo_activity_playground-0.
|
146
|
+
geo_activity_playground-0.41.0.dist-info/LICENSE,sha256=4RpAwKO8bPkfXH2lnpeUW0eLkNWglyG4lbrLDU_MOwY,1070
|
147
|
+
geo_activity_playground-0.41.0.dist-info/METADATA,sha256=0vXuY0ptWhByXxwVagr3Xlmgf0Frwhatre1ZPSHM6h4,1758
|
148
|
+
geo_activity_playground-0.41.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
149
|
+
geo_activity_playground-0.41.0.dist-info/entry_points.txt,sha256=pbNlLI6IIZIp7nPYCfAtiSiz2oxJSCl7DODD6SPkLKk,81
|
150
|
+
geo_activity_playground-0.41.0.dist-info/RECORD,,
|