Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-07-24 | update changelog | Daniel Schadt | |
2022-07-24 | fix images not showing when using the share link | Daniel Schadt | |
2022-07-23 | enable fullscreen button for map | Daniel Schadt | |
2022-07-23 | don't add empty tags | Daniel Schadt | |
2022-07-23 | allow tag addition and friend search with "Enter" | Daniel Schadt | |
Previously, pressing enter in those text boxes triggered the form to be submitted. This was rather unintuitive, therefore Enter now triggers the correct action (add a tag or search for friends). | |||
2022-07-23 | add ETags to gpx and badge files | Daniel Schadt | |
We cannot add them to image files, because FileResponse may use the wsgi provided file sending mechanism right when the object is created. FileResponse does however use the Last-Modified header, which is also okay. | |||
2022-07-23 | bump version to 0.2.0v0.2.0 | Daniel Schadt | |
2022-07-23 | stringify path before passing it to FileResponse | Daniel Schadt | |
Depending on the Python version, this might raise an error: Before 3.8, mimetypes.guess_type could not deal with a pathlib.Path, and only accepted a string. guess_type is called internally by FileResponse, so to make sure we don't run into errors, we stringify the path before passing it to FileResponse. | |||
2022-07-23 | clean up javascript | Daniel Schadt | |
2022-07-22 | Merge branch 'image-upload' | Daniel Schadt | |
2022-07-21 | remove leftover console.log | Daniel Schadt | |
2022-07-21 | allow descriptions to be added to images | Daniel Schadt | |
Even though the change is "relatively simple", it does add quite a bit of stuff since now we do need metadata in the database. | |||
2022-07-19 | show comment date in user's local timezone | Daniel Schadt | |
2022-07-19 | fix track_id/id mismatch in add-comment route | Daniel Schadt | |
2022-07-19 | no round borders in image preview | Daniel Schadt | |
2022-07-18 | remove images when removing a track | Daniel Schadt | |
2022-07-18 | update changelog | Daniel Schadt | |
2022-07-18 | update message catalogs | Daniel Schadt | |
2022-07-18 | give tests a temporary data dir | Daniel Schadt | |
2022-07-18 | update documentation with new data dir | Daniel Schadt | |
2022-07-18 | implement image upload | Daniel Schadt | |
2022-07-18 | set tox up to test with pypy (and optionally lxml) | Daniel Schadt | |
2022-07-17 | run pylint-tests in gitlab CI | Daniel Schadt | |
2022-07-17 | run pylint on the test files as well | Daniel Schadt | |
2022-07-17 | Merge branch 'multi-download' | Daniel Schadt | |
2022-07-17 | add tests for archive download | Daniel Schadt | |
2022-07-17 | make sure all tracks are found in the archive | Daniel Schadt | |
2022-07-17 | track: don't fail when id is not set | Daniel Schadt | |
This is just debug logging information, but accessing self.id for an object that is not in the database raises an error, because self.id is None and %d cannot format None. In this case, we simply use -1 as id instead. | |||
2022-07-16 | actually implement the multi download button | Daniel Schadt | |
2022-07-16 | remove MyTourbook timezone guessing | Daniel Schadt | |
It turns out that the mt:TourStartTime is also given in UTC, and therefore cannot be used to get the timezone offset. The problem was that my local computer's timezone was the same as the tour timezone, so by the magic of Python's datetime.datetime.fromtimestamp (and the date CLI util), I did not notice that the timestamp actually represents UTC. Sadly, it currently looks like there is no way to extract the time zone from a MyTourbook export. | |||
2022-07-16 | enable gitlab CI | Daniel Schadt | |
2022-07-16 | fix lint issues | Daniel Schadt | |
2022-07-16 | add tox to run tests & linters | Daniel Schadt | |
2022-07-16 | include markdown files in MANIFEST | Daniel Schadt | |
This is used for the README and the CHANGELOG, as they are read during setup.py. If we do not include them, building a source distribution will fail. | |||
2022-07-14 | [wip] implement multi track download | Daniel Schadt | |
2022-07-11 | ignore empty IDs when retrieving multiple | Daniel Schadt | |
This is for example useful for the template inputs. They should not be sent due to the "disabled" attribute, but we never know what browsers are doing, therefore we stay defensive. The test case already has to do extra steps to prevent those from being sent. | |||
2022-07-11 | add integration tests for uploading | Daniel Schadt | |
2022-07-11 | don't overwrite date after editing | Daniel Schadt | |
A few lines above the change, we set track.date to a timezone-aware date. We shouldn't overwrite it with a naive datetime right after. | |||
2022-07-11 | better styling for friend buttons in track edit | Daniel Schadt | |
The big button with the large padding looked kind of silly, so now the button is slimmer and the text is actually centered. | |||
2022-07-11 | move user menu (login, logout, ...) to right side | Daniel Schadt | |
2022-07-09 | add tests for the login form | Daniel Schadt | |
2022-07-09 | add docs on translation work | Daniel Schadt | |
2022-07-09 | add a "Delete" button to tracks | Daniel Schadt | |
2022-07-09 | save timestamps in UTC | Daniel Schadt | |
For the most part, we want to know the instant of when something happened. To stay consistent, we save everything as UTC. For internal things, this doesn't really matter - we just need to know the timezone to be able to compare the values (like "is the upload older than 5 days"). For user-facing things (like comments), we still want to store the UTC time and then convert it to the user's preferred timezone on display. | |||
2022-07-09 | Bump version to 0.1.0v0.1.0 | Daniel Schadt | |
2022-07-09 | fix CSRF token mismatch on password reset forms | Daniel Schadt | |
2022-07-09 | fix "Invalidate Share" action | Daniel Schadt | |
After the change to pyramid contexts, this parameter is now track_id. This was missed back then. | |||
2022-07-09 | add CSRF protection for actions that modify data | Daniel Schadt | |
2022-07-09 | take title suggestion from track name | Daniel Schadt | |
Sometimes, the GPX itself does not have a name set, but the single tracks might have. | |||
2022-07-09 | start writing docs properly, not in the README | Daniel Schadt | |