From 13032fc559f57eef32c0b8ae8ce6baf7aff0594c Mon Sep 17 00:00:00 2001 From: Daniel Schadt Date: Tue, 21 Oct 2025 23:18:46 +0200 Subject: fix track editing --- fietsboek/views/edit.py | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/fietsboek/views/edit.py b/fietsboek/views/edit.py index 3daaacd..09c47f5 100644 --- a/fietsboek/views/edit.py +++ b/fietsboek/views/edit.py @@ -93,15 +93,13 @@ def do_edit(request): pass else: LOGGER.info("Setting new track for %s", track.id) - gpx_bytes = convert.smart_convert(gpx_bytes) - try: - gpxpy.parse(gpx_bytes) - except Exception as exc: + new_track = convert.smart_convert(gpx_bytes) + if new_track is None: request.session.flash(request.localizer.translate(_("flash.invalid_file"))) LOGGER.info("Could not parse updated gpx: %s", exc) return HTTPFound(request.route_url("edit", track_id=track.id)) - data.compress_gpx(gpx_bytes) - data.backup() + data.compress_backup(gpx_bytes) + track.set_path(new_track.path()) track.transformers = [] redo_cache = True @@ -117,21 +115,14 @@ def do_edit(request): track.sync_tags(tags) actions.edit_images(request, request.context, manager=data) - gpx = actions.execute_transformers(request, request.context) - data.engrave_metadata( - title=track.title, - description=track.description, - author_name=track.owner.name, - time=track.date, - gpx=gpx, - ) + actions.execute_transformers(request, request.context) # actions.execute_transformers automatically rebuilds the cache, so we only need to do # this if execute_transformers didn't do it - if redo_cache and gpx is None: + if redo_cache: LOGGER.info("New file detected, rebuilding cache for %s", track.id) track.cache = None - track.ensure_cache(gpx_bytes) + track.ensure_cache() request.dbsession.add(track.cache) return HTTPFound(request.route_url("details", track_id=track.id)) -- cgit v1.2.3