From 8160afe6faf004aa0bc5478a0642a14eded3a914 Mon Sep 17 00:00:00 2001 From: Daniel Schadt Date: Sat, 10 May 2025 23:39:01 +0200 Subject: add button to exchange GPX track --- fietsboek/convert.py | 18 +++++++++++++++- fietsboek/locale/de/LC_MESSAGES/messages.mo | Bin 17734 -> 17805 bytes fietsboek/locale/de/LC_MESSAGES/messages.po | 22 ++++++++++++-------- fietsboek/locale/en/LC_MESSAGES/messages.mo | Bin 16661 -> 16726 bytes fietsboek/locale/en/LC_MESSAGES/messages.po | 22 ++++++++++++-------- fietsboek/locale/fietslog.pot | 22 ++++++++++++-------- fietsboek/templates/edit.jinja2 | 4 ++++ fietsboek/views/edit.py | 31 +++++++++++++++++++++++++++- fietsboek/views/upload.py | 3 +-- 9 files changed, 91 insertions(+), 31 deletions(-) diff --git a/fietsboek/convert.py b/fietsboek/convert.py index 3c8208b..d3bfb22 100644 --- a/fietsboek/convert.py +++ b/fietsboek/convert.py @@ -49,4 +49,20 @@ def from_fit(data: bytes) -> GPX: return gpx -__all__ = ["from_fit"] +def smart_convert(data: bytes) -> bytes: + """Tries to be smart in converting the input bytes. + + This function automatically applies the correct conversion if possible. + + Note that this function is not guaranteed to return valid GPX bytes. In the worst case, + invalid bytes are simply passed through. + + :param data: The input bytes. + :return: The converted content. + """ + if len(data) > 11 and data[9:12] == b"FIT": + return from_fit(data).to_xml().encode("utf-8") + return data + + +__all__ = ["from_fit", "smart_convert"] diff --git a/fietsboek/locale/de/LC_MESSAGES/messages.mo b/fietsboek/locale/de/LC_MESSAGES/messages.mo index a4bf218..5ddd7f3 100644 Binary files a/fietsboek/locale/de/LC_MESSAGES/messages.mo and b/fietsboek/locale/de/LC_MESSAGES/messages.mo differ diff --git a/fietsboek/locale/de/LC_MESSAGES/messages.po b/fietsboek/locale/de/LC_MESSAGES/messages.po index 2fbb199..6736e5a 100644 --- a/fietsboek/locale/de/LC_MESSAGES/messages.po +++ b/fietsboek/locale/de/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-05-10 22:16+0200\n" +"POT-Creation-Date: 2025-05-10 23:36+0200\n" "PO-Revision-Date: 2022-07-02 17:35+0200\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -494,11 +494,15 @@ msgstr "Absenden" msgid "page.edit.title" msgstr "Strecke Bearbeiten" -#: fietsboek/templates/edit.jinja2:16 +#: fietsboek/templates/edit.jinja2:14 +msgid "page.edit.form.new_track" +msgstr "Neue Streckendatei auswählen" + +#: fietsboek/templates/edit.jinja2:20 msgid "page.edit.form.submit" msgstr "Speichern" -#: fietsboek/templates/edit.jinja2:17 +#: fietsboek/templates/edit.jinja2:21 msgid "page.edit.form.cancel" msgstr "Abbrechen" @@ -1058,19 +1062,19 @@ msgstr "Passwort aktualisiert" msgid "flash.track_deleted" msgstr "Strecke gelöscht" +#: fietsboek/views/edit.py:100 fietsboek/views/upload.py:66 +msgid "flash.invalid_file" +msgstr "Ungültige GPX-Datei gesendet" + #: fietsboek/views/upload.py:54 msgid "flash.no_file_selected" msgstr "Keine Datei ausgewählt" -#: fietsboek/views/upload.py:67 -msgid "flash.invalid_file" -msgstr "Ungültige GPX-Datei gesendet" - -#: fietsboek/views/upload.py:195 +#: fietsboek/views/upload.py:194 msgid "flash.upload_success" msgstr "Hochladen erfolgreich" -#: fietsboek/views/upload.py:214 +#: fietsboek/views/upload.py:213 msgid "flash.upload_cancelled" msgstr "Hochladen abgebrochen" diff --git a/fietsboek/locale/en/LC_MESSAGES/messages.mo b/fietsboek/locale/en/LC_MESSAGES/messages.mo index 6dc4ec3..00a8b9c 100644 Binary files a/fietsboek/locale/en/LC_MESSAGES/messages.mo and b/fietsboek/locale/en/LC_MESSAGES/messages.mo differ diff --git a/fietsboek/locale/en/LC_MESSAGES/messages.po b/fietsboek/locale/en/LC_MESSAGES/messages.po index a528046..f2f7583 100644 --- a/fietsboek/locale/en/LC_MESSAGES/messages.po +++ b/fietsboek/locale/en/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-05-10 22:16+0200\n" +"POT-Creation-Date: 2025-05-10 23:36+0200\n" "PO-Revision-Date: 2023-04-03 20:42+0200\n" "Last-Translator: \n" "Language: en\n" @@ -490,11 +490,15 @@ msgstr "Submit" msgid "page.edit.title" msgstr "Edit Track" -#: fietsboek/templates/edit.jinja2:16 +#: fietsboek/templates/edit.jinja2:14 +msgid "page.edit.form.new_track" +msgstr "New file for this track" + +#: fietsboek/templates/edit.jinja2:20 msgid "page.edit.form.submit" msgstr "Save" -#: fietsboek/templates/edit.jinja2:17 +#: fietsboek/templates/edit.jinja2:21 msgid "page.edit.form.cancel" msgstr "Cancel" @@ -1047,19 +1051,19 @@ msgstr "Password has been updated" msgid "flash.track_deleted" msgstr "Track has been deleted" +#: fietsboek/views/edit.py:100 fietsboek/views/upload.py:66 +msgid "flash.invalid_file" +msgstr "Invalid GPX file selected" + #: fietsboek/views/upload.py:54 msgid "flash.no_file_selected" msgstr "No file selected" -#: fietsboek/views/upload.py:67 -msgid "flash.invalid_file" -msgstr "Invalid GPX file selected" - -#: fietsboek/views/upload.py:195 +#: fietsboek/views/upload.py:194 msgid "flash.upload_success" msgstr "Upload successful" -#: fietsboek/views/upload.py:214 +#: fietsboek/views/upload.py:213 msgid "flash.upload_cancelled" msgstr "Upload cancelled" diff --git a/fietsboek/locale/fietslog.pot b/fietsboek/locale/fietslog.pot index e58676f..02fdb37 100644 --- a/fietsboek/locale/fietslog.pot +++ b/fietsboek/locale/fietslog.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-05-10 22:16+0200\n" +"POT-Creation-Date: 2025-05-10 23:36+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -484,11 +484,15 @@ msgstr "" msgid "page.edit.title" msgstr "" -#: fietsboek/templates/edit.jinja2:16 +#: fietsboek/templates/edit.jinja2:14 +msgid "page.edit.form.new_track" +msgstr "" + +#: fietsboek/templates/edit.jinja2:20 msgid "page.edit.form.submit" msgstr "" -#: fietsboek/templates/edit.jinja2:17 +#: fietsboek/templates/edit.jinja2:21 msgid "page.edit.form.cancel" msgstr "" @@ -1030,19 +1034,19 @@ msgstr "" msgid "flash.track_deleted" msgstr "" -#: fietsboek/views/upload.py:54 -msgid "flash.no_file_selected" +#: fietsboek/views/edit.py:100 fietsboek/views/upload.py:66 +msgid "flash.invalid_file" msgstr "" -#: fietsboek/views/upload.py:67 -msgid "flash.invalid_file" +#: fietsboek/views/upload.py:54 +msgid "flash.no_file_selected" msgstr "" -#: fietsboek/views/upload.py:195 +#: fietsboek/views/upload.py:194 msgid "flash.upload_success" msgstr "" -#: fietsboek/views/upload.py:214 +#: fietsboek/views/upload.py:213 msgid "flash.upload_cancelled" msgstr "" diff --git a/fietsboek/templates/edit.jinja2 b/fietsboek/templates/edit.jinja2 index 6347ae6..26c520f 100644 --- a/fietsboek/templates/edit.jinja2 +++ b/fietsboek/templates/edit.jinja2 @@ -10,6 +10,10 @@