diff options
| author | Daniel Schadt <kingdread@gmx.de> | 2025-10-21 23:18:46 +0200 |
|---|---|---|
| committer | Daniel Schadt <kingdread@gmx.de> | 2025-10-28 21:06:37 +0100 |
| commit | 13032fc559f57eef32c0b8ae8ce6baf7aff0594c (patch) | |
| tree | c75ac4a7c1294c4485a7e8b3c6bda410b295ace6 | |
| parent | 54f177a359a6ab62414ffe7e47cc8565600ac784 (diff) | |
| download | fietsboek-13032fc559f57eef32c0b8ae8ce6baf7aff0594c.tar.gz fietsboek-13032fc559f57eef32c0b8ae8ce6baf7aff0594c.tar.bz2 fietsboek-13032fc559f57eef32c0b8ae8ce6baf7aff0594c.zip | |
fix track editing
| -rw-r--r-- | fietsboek/views/edit.py | 23 |
1 files 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)) |
