| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Postgres doesn't like us altering a table while a transaction is open,
and it seems that by not closing those connections in the update
scripts, we provoke a deadlock in the CI. Not sure what changed now
(because it worked previously), but I hope this fixes it by properly
closing connections as soon as they are no longer needed.
|
|
We're running out of compute minutes every month anyway, and I have set
up my own woodpecker server.
|
|
|
|
Since we don't use parents=True anymore to create the folders (which I
think is good), we now need to ensure that those exist.
So
1. when fietsboek starts up, we create those folders, and
2. when we delete them in the tests, we recreate them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This should solve issues that arise when exceptions occur during upload.
Hooks into the transaction/pyramid_tm machinery.
|
|
No more pkg_resources warnings
|
|
|
|
|
|
|
|
This doesn't check any content of the PDF, but ensures that running
typst does not produce an error.
|
|
matplotlib procudes a lot of lines for the font manager, which really
clutter the log output for everything else.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
That was good while we still had files saved brotli-compressed, but now
it adds more overhead.
|
|
The comment explains it.
|
|
|
|
|
|
|
|
|
|
This adds initial functionality to render PDF overviews of tracks. I was
pondering to use reportlab and do it completely in Python, but the
effort of doing proper layouting seemed to much. Add to that the fact
that Typst has much nicer typesetting, it seems like a no-brainer to use
it.
|
|
|
|
|
|
|
|
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?
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
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.
|
|
This may happen on a fresh instance, when you navigate to the admin
view.
|
|
|
|
|
|
|
|
|
|
|