aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2026-09-30 17:10:32 +0200
committerDaniel Schadt <kingdread@gmx.de>2026-09-30 17:10:32 +0200
commit4653773ae29b75c07cec5b53a655d2c29a2bc135 (patch)
treeb3c884e581ec4b4c526a4fd0c9cd83ae71b623e8
parentffa4b71706d6d855978cd833cc8bed13171127ce (diff)
downloadfietsboek-4653773ae29b75c07cec5b53a655d2c29a2bc135.tar.gz
fietsboek-4653773ae29b75c07cec5b53a655d2c29a2bc135.tar.bz2
fietsboek-4653773ae29b75c07cec5b53a655d2c29a2bc135.zip
display note if climbs are still in progress
-rw-r--r--fietsboek/templates/details.jinja27
-rw-r--r--fietsboek/views/detail.py3
-rw-r--r--fietsboek/views/upload.py2
3 files changed, 12 insertions, 0 deletions
diff --git a/fietsboek/templates/details.jinja2 b/fietsboek/templates/details.jinja2
index fb2f9d8..0bbcd44 100644
--- a/fietsboek/templates/details.jinja2
+++ b/fietsboek/templates/details.jinja2
@@ -99,6 +99,13 @@
</p>
{% endif %}
+ {% if bgtasks_in_progress %}
+ <div class="alert alert-warning" role="alert">
+ <i class="bi bi-exclamation-diamond-fill"></i>
+ {{ _("page.details.background_tasks_in_progress") }}
+ </div>
+ {% endif %}
+
{% if 'secret' in request.GET %}
{% set gpx_url = request.route_path('gpx', track_id=track.id, _query=[('secret', request.GET['secret'])]) %}
{% else %}
diff --git a/fietsboek/views/detail.py b/fietsboek/views/detail.py
index 8ce6718..9454b94 100644
--- a/fietsboek/views/detail.py
+++ b/fietsboek/views/detail.py
@@ -104,6 +104,8 @@ def details(request):
# Strip off the sort key again
images = [(image[1], image[2]) for image in images]
+ bgtasks_in_progress = request.redis.get(f"bg-tasks:track-{track.id}") is not None
+
with_meta = TrackWithMetadata(track)
return {
"track": with_meta,
@@ -114,6 +116,7 @@ def details(request):
"description": description,
"og_description": og_description,
"images": images,
+ "bgtasks_in_progress": bgtasks_in_progress,
}
diff --git a/fietsboek/views/upload.py b/fietsboek/views/upload.py
index 278eee2..610847c 100644
--- a/fietsboek/views/upload.py
+++ b/fietsboek/views/upload.py
@@ -188,11 +188,13 @@ def do_finish_upload(request):
layer = request.config.public_tile_layers()[0]
def _extract_climbs():
LOGGER.debug("Starting climb extraction for track %d", track_id)
+ request.redis.set(f"bg-tasks:track-{track_id}", 1)
session = request.registry["dbsession_factory"]()
track = session.get(Track, track_id)
with session:
actions.extract_climbs(session, track, loader, layer)
session.commit()
+ request.redis.delete(f"bg-tasks:track-{track_id}")
LOGGER.debug("Climb extraction done")
Thread(name=f"upload-{track_id}", target=_extract_climbs).start()