Commit Graph

1730 Commits

Author SHA1 Message Date
simon cc2fff8bef
use info_dict for message, simplify cache template, #271 2022-07-18 11:37:43 +07:00
simon 2d13011866
bump yt-dlp 2022-07-18 11:29:28 +07:00
simon 146f17bf74
shutil.move fix take 2, #build
Changed:
- use shutil.copyfile for copy_function
- fixed typo
2022-07-17 07:48:54 +07:00
simon b406250ae2
use shutil.copyfile for shutil.move calls 2022-07-17 07:47:27 +07:00
simon ed9237b69d
fix typo 2022-07-17 07:46:52 +07:00
simon 393e00866b
Desc preview, nginx fix, #build
Changed:
- Requires new env var: TA_HOST, hostname of your application
- Showing preview for description text, by @p0358
- Fix nginx user permission, by @p0358
- Refactor IndexPaginate to take loop callback
- Fix backup for large index using loop callback
- Fix deactivating missing channels on reindex
2022-07-16 22:11:29 +07:00
p0358 411b09629a
Better description view for videos and playlists (#272)
* draft

* proper implementation of description line clamping

* use a JS event that's potentially faster for text expand button visibility update

* remove desc title text, move show button after desc

Co-authored-by: simon <simobilleter@gmail.com>
2022-07-16 22:06:26 +07:00
p0358 79996f6838
Fix permission/mount issues from #268 (#270)
* make nginx run as root within the container (#268)

* move file to videos path with fallback to regular copy with no metadata copying (#268)

* use `copy_function=shutil.copy` everywhere with `shutil.move`
2022-07-16 21:54:39 +07:00
simon 6bb7f80ea2
Refactor IndexPaginate
- add callback function
- implement callback for ElasticBackup
2022-07-16 17:55:18 +07:00
simon 3b17c01c6d
add TA_HOST env for ALLOWED_HOSTS 2022-07-14 17:26:10 +07:00
simon 91bccfd057
deactivate non existing channels on reindex 2022-07-12 11:41:03 +07:00
simon 8cca09e0ac
remove ta_json backup file, keep only es_ndjson 2022-07-07 12:34:57 +07:00
simon 1479516689
Reimagining the channel pages, #build
Changed:
- Split the channel-id page into subpages
- Channel videos, channel playlist, channel about
- Disable es startup check to test ES8
2022-07-04 21:23:50 +07:00
simon 831e59a626
bump django 2022-07-04 21:23:32 +07:00
simon 6e012383ab
toggle playlist subscribed filter 2022-07-04 21:12:54 +07:00
simon e988192343
add channel_id_about subheading 2022-07-04 20:44:12 +07:00
simon ef3abd01b1
implement channel_id_playlist, handle channel_id_about post 2022-07-04 20:25:52 +07:00
simon e664338845
implement basic channel_id_about view 2022-07-04 16:44:37 +07:00
simon 63a1237683
temporarily disable es version check for testing 2022-07-04 16:43:13 +07:00
simon 6d59da4c86
remove redundant latest tags 2022-07-03 18:20:30 +07:00
simon 5bc67104ea
set restart policy to unless-stopped 2022-07-03 17:23:02 +07:00
simon 72ec78e011
browser extension as prefered cookie sync method 2022-07-03 16:46:45 +07:00
simon de8b7d6b43
bump ES version 2022-07-03 16:09:09 +07:00
simon 048409bb1e
bump TA_VERSION to v0.1.7 2022-07-03 16:08:30 +07:00
simon efff4cd96d
change cookie documentation for v0.1.7 2022-07-03 16:06:28 +07:00
simon 78d7947a5c
a note about subtitle refresh, #260 2022-07-03 15:36:21 +07:00
simon c132a37f03
bump dependencies 2022-07-03 15:30:46 +07:00
simon 4678a7507b
bump dependencies 2022-06-30 18:44:33 +07:00
simon e8e240c89b
Startup fix, cookie improvements, #build
Changed
- lock creating superuser at startup by @dshoreman
- auto validate cookie
- API: return cookie validation state for browser extension
- Finetuning CSS mobile layout
2022-06-27 10:14:59 +07:00
simon 1857ac44ca
fix tablet css breakpoints and grid spacing 2022-06-27 09:48:36 +07:00
simon 8c07932071
delete cookie:valid key when revoking 2022-06-23 19:21:13 +07:00
simon 74d74d95a1
store validation result, return in API 2022-06-23 06:48:55 +07:00
simon b4add20d10
bump yt-dlp 2022-06-22 19:30:38 +07:00
Dave Shoreman e9619c1242
Fix repeated superuser creations after rename/removal (#263)
* Avoid creating superuser if variables are removed

Enables the removal of `TA_USERNAME` and/or `TA_PASSWORD` as a way of
preventing an additional superuser being created when another exists.

In the old code, `ELASTIC_USER` would never error due to the default, so
this replaces the loop with one requirement on `ELASTIC_PASSWORD`.

* Use .superuser_created to prevent re-creation

Creates an empty `.superuser_created` file after successful creation,
and uses this to skip the command on future runs. If the file doesn't
exist, then `TA_USERNAME` and `TA_PASSWORD` will also be required.

* The superuser password can't be empty

...well—it *can*—but the password input of the login form requires a
value so even though the account is created, you can't actually login.

* Parse createsuperuser output for 'exists' error

If a user already exists with the same name as the superuser being
created, the command fails with "Error: That name is already taken".

It's probably safe to assume that user is the one we expect. This parses
the output, treating it as successful so it can be skipped next time.

If it hits the catch-all, something probably failed so we exit.

* Use the cache for persistence

Updates the .superuser_created file to be placed in /cache so that it
gets persisted in a volume between config tweaks and container rebuilds.

Also makes `TA_PASSWORD` required always, because it seems to be needed
by tubearchivist/config/settings.py to generate a secret key.

* Let it work outside Docker

If /cache doesn't exist (i.e. when it's not running in Docker), this
falls back to a `cache` dir in the current working directory instead.

Also renames the file to 'initsu.lock' rather than having it hidden.

* Use flexible fallback path for `celery` command
2022-06-22 18:29:46 +07:00
simon 49d33a2765
Improved Cookie handeling, #build
Changed:
- Cookie: Use IO Stream from Redis directly for cookies
- Cookie: Don't load invalid cookie
- API: Import cookie with PUT request
- Redis: Don't expire Redis messages by default
- Redis: Connections expire automatically
2022-06-21 08:14:01 +07:00
simon ecc58f6c11
API: note about release lagging behind 2022-06-21 08:10:00 +07:00
simon e5f43e5fe9
API: implement cookie PUT request to import cookie 2022-06-21 08:06:38 +07:00
simon 499c47c7a1
move set_cookie to separate method for reusabliity 2022-06-21 08:01:33 +07:00
simon 2cf30e1127
refactor: default set_message in RedisArchivist to True 2022-06-16 10:37:46 +07:00
simon ebfc4a349f
center title and tiles 2022-06-15 18:30:06 +07:00
simon 150c1dc273
add tiles to readme 2022-06-15 18:18:52 +07:00
simon 30abbe9be7
rewrite cookie into redis from io stream, auto validate 2022-06-15 17:54:05 +07:00
simon 40e4ef0e05
auto expire redis connections after 3600secs 2022-06-15 16:36:41 +07:00
simon 2ceb1b701a
consolidate config of cookie revoke 2022-06-15 15:39:24 +07:00
simon 2ad093a9a8
handle cookiejar.LoadError dont import invalid cookie 2022-06-15 10:39:48 +07:00
simon 09a94d0df5
set relative values directly with path arg 2022-06-15 10:27:29 +07:00
simon f7f4ca7728
API update, #build
Changed:
- API: Added Task get view
- Added is_locked method for redis lock check
- Updaded base and libs
2022-06-15 09:24:01 +07:00
simon 83a90000c6
bump base image 2022-06-15 09:23:41 +07:00
lamusmaser bbb16bb3c2
Update TaskAPIView with GET - #257 PR (#258)
* Initial commit for GET response for TaskAPIView.

* Update for missing space - linting issue.

* Additional linting fixes.

* add is_locked method to check if lock is set

* Update to use `.is_locked` method and add decorator.

* Fix linting issue.

* Fix doubled "rescan" call for locked file.
Removed call to ".owned()" under "is_locked".

* Commenting out GET call in TaskAPI view to revert change for testing.

* Commenting is_locked function to see if Server Response 500 is stopped.

* Reassert is_locked function within RedisArchivist class.

* Create test GET responder.

* Reverting simple GET response change.

* Reapplying simple GET response for `/api/task/`.

* Reapplying change with modification to lock key.

* Documentation update for new GET calls.

* README: fix returned value as `bool` instead of `str`.

* Updating the `is_locked` key reference to "rescan" and "downloading" to fix which key is being retrieved.

* Use dictionary keys, rather than line-by-line statements.

* Fix typo in README for Task View.

Co-authored-by: simon <simobilleter@gmail.com>
2022-06-15 09:15:59 +07:00
simon 4d9ee4494f
bump requests 2022-06-14 14:26:49 +07:00