Commit graph

90 commits

Author SHA1 Message Date
7da3a094f1 add "download-imdb-dataset" command to CLI 2023-02-04 01:13:19 +01:00
0563d49dbc add async file download function 2023-02-04 01:13:19 +01:00
758706baa2 switch from Requests to HTTPX 2023-02-04 01:13:19 +01:00
8eabbf89d5 add .git-blame-ignore-revs 2023-02-04 01:13:17 +01:00
8a8bfce89d apply Black v23.1.0 formatting changes 2023-02-04 01:12:50 +01:00
8e1988eea2 add Autoflake linting 2023-02-04 01:12:11 +01:00
418116afac improve typing correctness 2023-02-04 01:12:09 +01:00
3320d53eda use native union type syntax 2023-02-02 23:46:02 +01:00
13b65103fd [wip] use Python 3.11 & update all dependencies 2023-02-02 23:18:21 +01:00
7823708383 update & fix dependencies 2022-10-23 14:18:54 +02:00
62afac7060 fix parsing of ratings listing with missing genres 2022-10-23 14:16:47 +02:00
3c357584a2 update poetry & npm 2022-01-13 23:18:24 +01:00
23bba3e2cc allow loading group ratings for a single movie 2022-01-13 23:18:09 +01:00
adfead81fc simplify SQL query a bit
With SQLite it's in general not a big issue to run multiple smaller
queries instead a big one, because the overhead per request is much
smaller than with separate DBMS.
This should make it easier to extend `find_ratings` in the future.
2021-12-19 19:35:53 +01:00
e1f35143df add some tests for db.find_ratings 2021-12-19 19:30:08 +01:00
a17b49bc0b fix & improve asplain func
It would previously encode a JSON encoded string coming from the DB
doubly, because there was no differentiation.  It would also not handle
optional values set to None correctly.
There's still other problems with the function, but those are now fixed.
2021-12-19 19:25:31 +01:00
e49ea603ee create dataclasses for output data 2021-12-19 19:13:49 +01:00
146e6ff6b8 fix docker build
SQLAlchemy 1.4 uses greenlet, which needs to be built from source on
Alpine.
2021-12-08 22:59:43 +01:00
32bbfe881b change /movies output format for id filtered listing
The new format is much closer to the format used by /groups/ratings.
Also allows to filter based on Unwind's ID.
2021-12-08 00:13:05 +01:00
a468c8ad60 add a few first tests for /movies web route 2021-12-07 23:54:06 +01:00
bd3e35936a fix access to renamed db column 2021-12-07 23:25:01 +01:00
297f82bf8e fix early SQL patch
We need to remove the view on the movies table first, otherwise we might
run into an internal integrity error.
2021-12-07 23:22:51 +01:00
f2cb66b0bf update dependencies 2021-12-07 21:18:55 +01:00
57a2bccb44 add pyright to linting 2021-12-07 21:03:31 +01:00
3c9da10522 upgrade Python to 3.10, and update all dependencies 2021-11-02 14:16:00 +01:00
dd3d5f3670 fix user rating refresh if a user is unavailable
If a user's ratings cannot be accessed, e.g. due to network errors, it
should skip to the next user.
Ideally we could mark a user as inactive after X failed retries.
2021-11-02 14:14:32 +01:00
52c08f0fd8 add new IMDb movie type: tvPilot 2021-08-22 14:44:29 +02:00
18b95f91f9 use more compact JSON repr 2021-08-18 20:08:09 +02:00
b676c9ddde fix SQLite locking errors 2021-08-18 20:02:10 +02:00
f964c0ceb9 UI: add support for year specification in search 2021-08-07 14:32:32 +02:00
181719c6d9 add force option to movie reload
In case an import fails we need to skip checking whether the IMDb
export dumps changed.
2021-08-06 14:23:21 +02:00
b2caaa8bc3 fix updating user ratings from IMDb
We need to use the existing user from the DB to avoid overwriting the
user's secret or other details.
We also can't assert the user will stay the same, because at least
their name is allowed to change.
2021-08-06 12:56:01 +02:00
b8fab34418 support local scripts & env in run script 2021-08-06 12:30:06 +02:00
792806f304 Merge branch 'ui' 2021-08-05 19:20:33 +02:00
000ab4c4d4 improve info message 2021-08-05 19:19:54 +02:00
40459cf9ff update pip packages 2021-08-05 19:18:52 +02:00
7dacab9b77 clean up container contents
The UI should be built and served separately, not from within the
production container.
The tests should be run separately as well and are not needed from
within the production container.
2021-08-05 19:18:52 +02:00
0532676fa4 lint 2021-08-05 19:18:52 +02:00
9acd534706 make more aspects of API & UI hosting configurable
This is necessary to create proper dev & production builds of the app.
2021-08-05 19:18:51 +02:00
ebdf3a39f3 update npm packages 2021-08-05 15:59:43 +02:00
69eb68a9a4 add UI selector for user ratings (group or own)
Allow a user to access their own dataset.
Add a route for admins to give users access to groups.
2021-08-05 15:53:27 +02:00
fb059ae5d1 lint 2021-08-04 17:32:00 +02:00
ff4f8fa246 filter ratings for movies index route 2021-08-04 17:32:00 +02:00
e56ff8a6e6 fix conversion to imdb rating in JS 2021-08-04 17:32:00 +02:00
bae0415a24 fix up movies index route [wip] 2021-08-04 17:32:00 +02:00
7cc540b6fd fix encoding user credentials 2021-08-04 17:32:00 +02:00
e2a3f0b6fa add per user group management
Drop the secret from groups, instead set per user access rights to
read or write group information.
2021-08-04 17:32:00 +02:00
14f2395fa6 improve some type annotations 2021-08-04 17:32:00 +02:00
1413ba896f add basic auth for non-admin users 2021-08-04 17:32:00 +02:00
f7913c30c8 add secret to User & add user REST routes 2021-08-04 17:31:59 +02:00