aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-02use different error when filters return no tracksDaniel Schadt
2022-07-30add a button to clear all filtersDaniel Schadt
2022-07-29use secrets to safely generate random tokensDaniel Schadt
The usage of os.urandom was fine to generate a salt, but using secrets here makes sure that the intent is carried across. For the share tokens, using random might be insecure. We should err on the side of caution and use a secure PRNG here, so now we use secrets here as well. For tokens (password reset, ...), UUID4 is probably also fine, so we'll leave that for now.
2022-07-28add chevron buttons to collapse year/month summaryDaniel Schadt
2022-07-28add filters to only show own/friends'/tagged trackDaniel Schadt
2022-07-28move "Advanced" button closer to "Apply filters"Daniel Schadt
2022-07-28change weird "< length <" and "< date <" textsDaniel Schadt
It just looked odd on the actual website.
2022-07-27fix lintsDaniel Schadt
2022-07-27add new translations for filtersDaniel Schadt
2022-07-27add first filters to the browse viewDaniel Schadt
2022-07-27embed JSON strings via tojsonDaniel Schadt
This will properly escape special characters and quotes in the string.
2022-07-27allow embedding a Thunderforest API keyDaniel Schadt
2022-07-26update changelogDaniel Schadt
2022-07-26de-duplicate image editing codeDaniel Schadt
2022-07-26fix image upload when uploading tracksDaniel Schadt
Since we changed the logic to support image descriptions, we need to adapt it here as well. Without this fix, images would only be uploaded from the "edit track" view.
2022-07-25include changelog in docsDaniel Schadt
2022-07-24add first basic tests for synthetic tracksDaniel Schadt
2022-07-24make upload function even more robustDaniel Schadt
This now works if there is really no date given in the GPX file, as done for example by the files produced by BRouter.
2022-07-24don't crash tour_metadata with missing informationDaniel Schadt
Some tracks (especially the "premade" ones) lack the time and speed information. We just assume some random values in those cases, which is better than crashing the site. In the future, this is gonna be important once we implement "template tracks".
2022-07-24bump version to 0.2.1v0.2.1Daniel Schadt
2022-07-24update changelogDaniel Schadt
2022-07-24fix images not showing when using the share linkDaniel Schadt
2022-07-23enable fullscreen button for mapDaniel Schadt
2022-07-23don't add empty tagsDaniel Schadt
2022-07-23allow 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-23add ETags to gpx and badge filesDaniel 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-23bump version to 0.2.0v0.2.0Daniel Schadt
2022-07-23stringify path before passing it to FileResponseDaniel 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-23clean up javascriptDaniel Schadt
2022-07-22Merge branch 'image-upload'Daniel Schadt
2022-07-21remove leftover console.logDaniel Schadt
2022-07-21allow descriptions to be added to imagesDaniel 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-19show comment date in user's local timezoneDaniel Schadt
2022-07-19fix track_id/id mismatch in add-comment routeDaniel Schadt
2022-07-19no round borders in image previewDaniel Schadt
2022-07-18remove images when removing a trackDaniel Schadt
2022-07-18update changelogDaniel Schadt
2022-07-18update message catalogsDaniel Schadt
2022-07-18give tests a temporary data dirDaniel Schadt
2022-07-18update documentation with new data dirDaniel Schadt
2022-07-18implement image uploadDaniel Schadt
2022-07-18set tox up to test with pypy (and optionally lxml)Daniel Schadt
2022-07-17run pylint-tests in gitlab CIDaniel Schadt
2022-07-17run pylint on the test files as wellDaniel Schadt
2022-07-17Merge branch 'multi-download'Daniel Schadt
2022-07-17add tests for archive downloadDaniel Schadt
2022-07-17make sure all tracks are found in the archiveDaniel Schadt
2022-07-17track: don't fail when id is not setDaniel 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-16actually implement the multi download buttonDaniel Schadt
2022-07-16remove MyTourbook timezone guessingDaniel 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.