aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-11-22add test for xml_escapeDaniel Schadt
2025-11-22remove uneeded functionDaniel Schadt
2025-11-22remove unneeded importDaniel Schadt
2025-11-22don't offer brotli content encodingDaniel Schadt
That was good while we still had files saved brotli-compressed, but now it adds more overhead.
2025-11-22speed up track xml serializationDaniel Schadt
The comment explains it.
2025-11-16fix lintDaniel Schadt
2025-11-16enable foreign key checks in SQLiteDaniel Schadt
2025-11-16properly clean up track cache in testDaniel Schadt
2025-11-16further speed up testsDaniel Schadt
A lot of time in test_browse was spent retrieving path points and computing metadata. Why not save it while we still have the path ready?
2025-11-16fix lintDaniel Schadt
2025-11-16speed up track insertionDaniel Schadt
It turns out that adding multiple thousands of track points via the ORM is quite slow, which is especially noticable in the browse_paged test (as 50 tracks are added there). This provides the fast_set_path method, which goes directly to the database, utilizing the executemany() capability. On the CI, the gpx-influx decreased test runtime from ~4min to ~18min. This change should make it much faster again.
2025-11-15refine woodpecker configDaniel Schadt
2025-11-14enable woodpecker CIDaniel Schadt
2025-11-14make lon/lat non-nullableDaniel Schadt
I want to have more columns non-nullable, but it's a pain to change in SQLite. We can still try to be careful with new columns, though, and use nullable=False more often when appropriate. While this changes the schema without a new migration, I think for this case it is fine.
2025-11-14fix SQLAlchemy typesDaniel Schadt
See https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html#whatsnew-20-orm-declarative-typing The Mapped[] annotations help mypy to find the right types for the instance attributes. Some of the mapped_column() definitions are superfluous, but I think it's nice to have them explicit.
2025-11-14be graceful if users/tracks dirs not foundDaniel Schadt
This may happen on a fresh instance, when you navigate to the admin view.
2025-11-14Merge branch 'gpx-influx'Daniel Schadt
2025-11-14add missing return statementDaniel Schadt
2025-11-13check DB connectivity before updatingDaniel Schadt
2025-11-12respect track date when downgradingDaniel Schadt
2025-11-11fix lintDaniel Schadt
2025-11-11fix update script for empty data directoriesDaniel Schadt
2025-11-09add update script for reading GPX to databaseDaniel Schadt
2025-11-09change backup path to not contain .gpxDaniel Schadt
Since this file could now also be a .fit file, let's just drop the extension.
2025-11-09better error handling for convert.smart_convertDaniel Schadt
Returning None is pretty nondescript, so let's make it official that we raise an exception there.
2025-11-09fix SQLA warning about object not in sessionDaniel Schadt
2025-11-09fix fietscronDaniel Schadt
2025-11-01fix lintDaniel Schadt
2025-11-01include database size in total sizeDaniel Schadt
2025-11-01split track data and backups in storage breakdownDaniel Schadt
2025-11-01fix size breakdownDaniel Schadt
2025-11-01fix testsDaniel Schadt
With the values being computed ourselves, they differ a bit from the previous gpxpy values. Therefore, we adjust the expected values in the tests.
2025-11-01don't choke if no timestamp or elevation is givenDaniel Schadt
This is a continuation of the previous commit, useful for synthetic tracks. We don't really care about the value, it shouldn't be shown anyway.
2025-11-01don't choke if no GPX timestamps are setDaniel Schadt
This usually happens in synthetic tracks, which we still want to load correctly.
2025-11-01fix archive downloadDaniel Schadt
2025-10-28have hittekaart use the tracks from the databaseDaniel Schadt
2025-10-28add docstrings to models/track.pyDaniel Schadt
2025-10-28add docstrings to geo.pyDaniel Schadt
2025-10-28clean up unused importsDaniel Schadt
2025-10-28fix alembic scripts in alembic versionDaniel Schadt
Basically, we make is_sqlite/is_postgres lazy, as the connection might not be bound yet in commands like `alembic history`. However, in those commands, upgrade/downgrade is not called, so it doesn't matter.
2025-10-28add waypoints to databaseDaniel Schadt
2025-10-28remove superfluous print statementDaniel Schadt
2025-10-28fix track editingDaniel Schadt
2025-10-28make transformers work on geo.PathDaniel Schadt
2025-10-28fix FIT files not having the date setDaniel Schadt
2025-10-28fix FIT uploadDaniel Schadt
2025-10-28take metadata from geo moduleDaniel Schadt
2025-10-28have trackmap's be rendered on geo.PathDaniel Schadt
2025-10-28move GPX reading into convertDaniel Schadt
2025-10-28return GPX with data from databaseDaniel Schadt