Commit Graph

910 Commits

Author SHA1 Message Date
simon 9cd23c3666
error handeling for playlist_thumbnail extraction 2022-10-23 11:50:26 +07:00
simon 0e17e2a6cf
bump TA_VERSION to v0.2.3 2022-10-23 10:55:57 +07:00
simon 40eff8e30e
fix chrome compatibility issue for description text reveal, #327 2022-10-22 22:32:57 +07:00
simon 0bba36cbc3
add watched_date for _update_by_query mark as watched, #309 2022-10-22 22:00:35 +07:00
simon a5788117de
add dropdown channel agg for download page 2022-10-22 21:23:57 +07:00
simon dea2688b49
handle UnidentifiedImageError in ThumbManager, #325 2022-10-17 19:26:01 +07:00
simon 927e6fa909
create channel parameter for downloads api view 2022-10-17 18:58:21 +07:00
simon bd7cdb3942
append query parameters to pagination 2022-10-17 18:40:20 +07:00
simon 9dfd967a32
implement downloads filter per channel 2022-10-17 13:29:21 +07:00
simon 6eee762d3a
add status for sub refresh 2022-10-14 11:27:27 +07:00
simon a8c5773f81
fix is_live status check before adding to queue 2022-10-05 16:12:58 +02:00
simon fbb52dc93f
implement basic channel query string for downloads page 2022-10-05 15:47:17 +02:00
simon c9e936da21
bump libraries 2022-10-05 15:46:44 +02:00
simon c825e67f69
bump django and restframework 2022-09-30 18:02:44 +02:00
simon db6840639a
update TA_VERSION to v0.2.2 2022-09-19 15:21:55 +07:00
simon f28c47323f
cleanup channel info.json file after import 2022-09-19 15:10:41 +07:00
simon b25818dbc3
extend timeout, add retry to YtWrap 2022-09-17 10:31:51 +07:00
simon f2a8b070f2
add log output for add to queue 2022-09-17 10:30:27 +07:00
simon dfacc3039a
fix reindex task, skip inactive in _get_unrated_vids 2022-09-14 16:43:48 +07:00
simon 2b8ec1f8cf
use grid_items for videos on download page 2022-09-13 16:47:31 +07:00
simon 6d22e62642
downgrade django to fix django_debug env 2022-09-10 11:22:49 +07:00
simon 1c3febc49d
force create thumb folder for manual import 2022-09-06 23:13:29 +07:00
simon a6dd927860
fix channel extraction to catch all alerts, #312 2022-09-06 23:12:49 +07:00
simon 3c92de8e24
improved logging for manual import 2022-09-06 22:42:55 +07:00
simon e51a662da9
fix manual import splitext matching invalid extensions, #311 2022-09-06 22:27:18 +07:00
simon b2bf4ecc02
bump libs 2022-09-06 21:20:29 +07:00
simon 8f2794a141 Merge branch 'master' into testing 2022-09-03 15:17:06 +07:00
DanielBatteryStapler 396b6b80cd
Add TA_LDAP_DISABLE_CERT_CHECK option (#314)
* add TA_LDAP_DISABLE_CERT_CHECK option

* add unstable disclaimer next to TA_LDAP_DISABLE_CERT_CHECK
2022-09-03 15:16:09 +07:00
simon e467beb1c7
fix manual import cleanup metadata, #331 2022-08-26 17:07:55 +07:00
simon f26d02919e
revert faulty django update 2022-08-20 14:14:14 +07:00
simon 20ff465b94
bump TA_VERSION to v0.2.1 2022-08-19 18:28:34 +07:00
simon 7d3a5cc699
add search api to readme 2022-08-19 18:26:27 +07:00
simon 1b22e61384
New search API endpoint, #build
Changed:
- Switched search form to API
- Additional validations for RYD
- Additional log output for curl ES startup check
2022-08-19 18:00:35 +07:00
simon e6b673832f
bump yt-dlp 2022-08-19 17:53:18 +07:00
PrivateGER 57a9fff82b
Add API endpoint for searching (#303)
* Add API endpoint for searching + use it in frontend

* Fix linting warnings

* Remove multisearch API call

* Avoid 301 and fix up multiline comment
2022-08-19 17:52:37 +07:00
simon 1896e982b9
codespell lint fixes 2022-08-18 18:51:11 +07:00
simon 0e7e0a0560
fail open on ryd error 2022-08-18 18:45:46 +07:00
simon 155439e228
add api Table of contents 2022-08-17 17:29:04 +07:00
simon 0210a97b48
archive vtt files for offline import 2022-08-16 15:42:54 +07:00
simon a4932b163b
bump ryd 2022-08-16 15:42:26 +07:00
simon 0b41d288db
fix mkv cover stream extractor 2022-08-16 12:19:27 +07:00
simon 21f3ee88b9
extract vtt from mkv and mp4 for import 2022-08-15 15:18:38 +07:00
simon 7727f533ee
move subtitle to separate module 2022-08-15 13:55:24 +07:00
simon 41c71fde56
bump yt-dlp 2022-08-15 13:55:02 +07:00
simon 81aa27e802
fix video-item.list vertical positioning 2022-08-13 16:20:38 +07:00
simon bd4710ebdc
improved wording for download form, subscription size, #300 2022-08-13 15:43:23 +07:00
simon 8a1ae1ef83
add protocoll to CSRF_TRUSTED_ORIGINS 2022-08-13 14:03:17 +07:00
simon 6afe25a4af
fix empty subtitle download and index, #288 2022-08-12 15:53:20 +07:00
simon cc40f46325
improved ryd error handeling, #283 2022-08-12 14:39:22 +07:00
simon 7c3bfa94f3
handle thumbnail download base exception, #281 2022-08-12 12:58:39 +07:00
simon 25f1539816
implement backup task lock, #278 2022-08-12 12:03:09 +07:00
simon 474ab22792
handle channel name redirect in UrlListParser, #276 2022-08-12 11:53:31 +07:00
simon ececc3cedd
bump yt-dlp 2022-08-11 19:57:12 +07:00
simon 0891c49620
implement offline channel import 2022-08-11 19:57:00 +07:00
simon c26ef012c1
raise ValueError when not matching media files 2022-08-11 11:10:58 +07:00
simon 31061c0eb0
handle offline import without info.json fail 2022-08-10 22:38:17 +07:00
simon 994f7c2443
use user provided thumb for offline import 2022-08-10 22:31:15 +07:00
simon 7029441f89
use fallback thumb when no url passed 2022-08-10 22:24:02 +07:00
simon 35f1084cc2
download thumbnail for manual import 2022-08-10 21:47:26 +07:00
simon 44473a364f
fix double download of playlist art 2022-08-10 21:20:58 +07:00
simon fb4d6b7be3
major refactor ThumbManager 2022-08-10 21:03:54 +07:00
simon b76fa69396
WIP: rewrite ManualImport, identify and archive 2022-08-08 19:18:27 +07:00
simon 8f711d359b
implement youtube_meta and media_path overwritein YoutubeVideo 2022-08-08 18:28:32 +07:00
simon 9fd6f9c58b
use absolute paths for manual import 2022-08-08 15:57:42 +07:00
simon b70cbfa0a8
convert thumbnail to jpg for manual import 2022-08-08 14:52:33 +07:00
simon d0675368f4
bump django 2022-08-08 14:52:06 +07:00
simon 195acd3246
WPI: dump thumbnails from mp4 and mkv 2022-07-31 00:02:09 +07:00
simon 5284975aa2
merge master into testing 2022-07-30 21:38:00 +07:00
simon 07f50b6619
LDAP support, #build
Changed:
- configure LDAP over environment variables
- fix reverse proxy CSRF error
2022-07-30 21:13:13 +07:00
DanielBatteryStapler fd75def6c3 implement LDAP as authentication backend support (#274) 2022-07-30 21:08:12 +07:00
simon 61da0c8af3 WIP: extract thumb from mkv 2022-07-30 21:07:31 +07:00
DanielBatteryStapler e1c4702398
implement LDAP as authentication backend support (#274) 2022-07-30 21:05:10 +07:00
Aron Brown 5407d35779
Update settings.py (#284)
Add CSRF_TRUSTED_ORIGINS Django config settings and set it to environment variable TA_HOST.
This should fix login issues behind reverse proxies.
2022-07-30 21:03:58 +07:00
simon 26cc7846c6
WIP: new import folder parser for offline import 2022-07-26 19:51:47 +07:00
simon aa0739bfbe
bump TA_VERSION to v0.2.0 2022-07-23 16:35:18 +07:00
simon 2ba31a3937
add search help text 2022-07-23 14:10:16 +07:00
simon 8a59b66a0f
finetune full text thumb width 2022-07-23 13:28:49 +07:00
simon 503a4ed822
force es8 at startup 2022-07-22 17:22:06 +07:00
simon f0a44678ed
unset video max-height max-width for fullscreen webkit, #264 2022-07-22 14:50:53 +07:00
simon 4b1ebf44c9
handle filenotfounderror for manual cookie import 2022-07-21 23:01:32 +07:00
simon eb229440d4
load config into redis on fresh install at startup 2022-07-21 23:01:01 +07:00
simon 14d3a7586d
validate es8 at startup 2022-07-21 20:09:06 +07:00
simon 0ec6558282
jump to timestamp from full search 2022-07-21 17:15:36 +07:00
simon 52d31f9cca
simplify createVideo player link building 2022-07-21 15:51:33 +07:00
simon 07016f2cc5
ignore full: result without highlight 2022-07-21 15:47:29 +07:00
simon 55a73995c8
implement source and lang keywords for full text search 2022-07-21 15:39:27 +07:00
simon a40ebc7bbc
tweak with for video-item.list 2022-07-21 15:36:36 +07:00
simon e4dd47aed0
implement fulltext search keyword 2022-07-20 21:49:32 +07:00
simon eb5a7338ab
search with and operator, increase result size 2022-07-20 18:25:39 +07:00
simon b77d50d4ed
use queryType in populateMultiSearchResults to hide irrelevant 2022-07-20 18:01:57 +07:00
simon b520a9bfb0
boost title result scores in multi_match 2022-07-20 16:20:23 +07:00
simon 242ca19586
return query_type from SearchParser 2022-07-20 16:10:57 +07:00
simon 6a6665bdf9
implement simple, aka none keyword query 2022-07-20 15:04:10 +07:00
simon 8e8c00af40
implement playlist keyword search, fix channel subscribed keyword 2022-07-20 14:58:04 +07:00
simon ae3cf7eb80
add channel keyword search 2022-07-20 14:48:41 +07:00
simon 0a2b6ee90a
add keyword search framework, implement video search 2022-07-19 19:23:59 +07:00
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 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 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 72ec78e011
browser extension as prefered cookie sync method 2022-07-03 16:46:45 +07:00
simon 048409bb1e
bump TA_VERSION to v0.1.7 2022-07-03 16:08:30 +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 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
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 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
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
simon eeeabca8c2
bump dependencies 2022-06-07 17:09:49 +07:00
simon 3504408e70
update TA_VERSION to v0.1.6 2022-06-04 09:47:51 +07:00
simon c41f0a7cc4
try to LOAD_TRUNCATED_IMAGES, #256 2022-06-01 09:04:55 +07:00
simon 5d262d7d48
skip cookie if no config added to YtWrap 2022-05-30 18:22:17 +07:00
simon 231ac1e012
make channel matching optional for reusability 2022-05-30 17:59:52 +07:00
simon cbb714c235
show grid count controls only if applicable 2022-05-30 16:21:24 +07:00
simon c93e935b9c
move delete download queue button to settings page 2022-05-30 16:06:12 +07:00
simon c6d696a91b
timeout search as you type 2022-05-30 15:29:52 +07:00
simon a9b8d34b5a
adapt search width with grid_items 2022-05-30 14:52:47 +07:00
simon 25e2bdb0b7
bump celery version 2022-05-30 14:51:44 +07:00
simon bbb0c26498
fix subtitle delete overwrite, change filename to .lang.vtt, #195 2022-05-29 11:43:25 +07:00
simon 51a45bb59e
implement variable grid row size for playlist_id 2022-05-28 21:48:15 +07:00
simon 0759b4f220
reset mobile variable gird row count 2022-05-28 21:41:17 +07:00
simon 9f92bf95b4
mark video as downloaded false when deleting video 2022-05-28 21:23:56 +07:00
simon e638f8b487
skip subtitle segment without segs key, #249 2022-05-28 17:47:21 +07:00
simon caaed252f9
specify videos page for get_last_youtube_videos of channel 2022-05-28 14:34:01 +07:00
simon 5982932457
implement variable grid row size 2022-05-28 13:57:29 +07:00
simon 9a31243b1c
log message when skipping video 2022-05-28 11:11:09 +07:00
simon 88e526f5e5
refactor new YtWrap class for yt-dlp calls, #build
Changed:
- new yt-dlp base class
- new cookie class using io_stream
- MetadataFromField postprocessors
2022-05-25 16:15:38 +07:00
Clark 730ac15349
Fix #241 Use title/uploader for embedded metadata not Content ID (#252) 2022-05-25 16:13:25 +07:00
simon 0ac9243389
remove unused monitor_cache_dir method 2022-05-24 15:54:41 +07:00
simon c39f8a9cb8
refactor use cookie io_stream 2022-05-24 15:51:58 +07:00
simon 9dd1e9a29f
extract playlists with new YtBase class 2022-05-24 10:44:18 +07:00
simon 3f5104d6d8
integrate new YtWrap class in download queue and subscriptions classes 2022-05-24 10:36:39 +07:00
simon 4b00f454b7
integrate new YtWrap class in yt_dlp handler 2022-05-24 10:19:02 +07:00
simon 33f27f018f
handle download error 2022-05-24 10:18:33 +07:00
simon a7d9b4584b
implement new YtBase class for index classes 2022-05-24 10:01:30 +07:00
simon 4e699621a0
obs base and handle extract error 2022-05-24 10:00:40 +07:00
simon 37e6f8656a
yt-dlp base class 2022-05-24 08:53:05 +07:00
simon 9fe6d41320
update libraries 2022-05-20 20:05:31 +07:00
simon 03179eea94
bump redis 2022-05-10 16:32:18 +07:00
simon 0ab809447a
update version 2022-05-07 19:06:43 +07:00
simon f94bbec672
add cookie wiki link 2022-05-07 19:00:40 +07:00
simon 3722f11a65
cleanup cookie file after task 2022-05-07 09:34:51 +07:00
simon 087043811f
avoid unneeded cookie open 2022-05-07 09:34:33 +07:00
simon 160c23c36c
conform import path style 2022-05-06 08:09:19 +07:00
simon 94fa191fb8
skip premium videos, clean exit for empty bulk_list, #237 2022-05-05 23:38:10 +07:00
simon 9a2b29c2ae
implement channle name change in reindex, #211 2022-05-05 22:59:56 +07:00
simon 7a51368955
fix skip deleting none existing subtitles, add update_media_url 2022-05-05 22:56:22 +07:00
simon 7fa0d0f331
untangle delete subtitles from delete media file, #195 2022-05-05 09:11:37 +07:00
Nathan DeTar 4eba36f7a0
Cookie Validation Button (#242)
* Added cookie validate button & message placeholder

* Added handleCookieValidate(), postCookieValidate()

* show validation only if enbled, add processing message for immediate feedback

Co-authored-by: simon <simobilleter@gmail.com>
2022-05-04 17:07:01 +07:00
simon 1613b71942
hide cookie after rescan and download process 2022-05-03 17:32:32 +07:00
simon 83beb53860
simplify _add_single to call update_status in PendingInteract directly 2022-05-02 21:38:03 +07:00
simon 8a4c50779a
standardize prints for PostData mapper 2022-05-02 18:39:54 +07:00
simon ca5b00a373
refresh for PendingInteract delete to avoid race condition, #217 2022-05-02 18:20:56 +07:00
simon 34a1fe9e8e
fix thumb re-embed task, #231 2022-05-02 17:38:20 +07:00
simon 34c18e75f5
add LL and WL as valid playlists with cookie 2022-05-02 11:30:38 +07:00
simon 6fbac12314
fix channel_validate in PlaylistSubscription, #223 2022-05-02 11:27:50 +07:00
Nathan DeTar c4107fc370
Fix to prevent holding onto SB info. (#236) 2022-05-02 10:41:42 +07:00
simon ca3ea20283
add socket_timeout when passing check_formats to yt-dlp 2022-05-02 09:48:52 +07:00
simon cd139dfc1c
API: add cookie validation view 2022-04-30 19:13:49 +07:00
simon bc7d90f1f4
raise FileNotFoundError when trying to use unavailable cookie 2022-04-30 19:09:19 +07:00
simon 3a21690309
implement post_process_updated for settings, import cookie 2022-04-30 18:35:04 +07:00
simon 487c81d50b
fix FileNotFoundError in cookie hide 2022-04-30 18:34:28 +07:00
simon 088e87bccf
add cookiefile to PendingList and VideoDownloader 2022-04-30 17:27:57 +07:00
simon 6cc5fd8890
add cookiefile to yt_obs in YouTubeItem baseclass 2022-04-30 16:40:36 +07:00
simon 4e3d71e0e3
simplify, un-userspaced 2022-04-30 16:38:23 +07:00
simon 9b107b9940
implement cookie validator 2022-04-30 13:05:01 +07:00
simon 43eec5aac0
move CookieHandler to separate module 2022-04-30 12:05:41 +07:00
simon 430fdb6f1c
add cookie import to frontend 2022-04-29 18:38:43 +07:00
simon 1fa26cdc44
added basic cookie import functionality 2022-04-23 21:59:59 +07:00
simon eb7313fe6b
API: add run task view 2022-04-23 20:50:38 +07:00
simon 71b3654942
add localhost:3000 to allowed 2022-04-23 20:17:31 +07:00
simon 3f99f7edff
add localhost to allowed origin, optional cors disable 2022-04-23 20:16:28 +07:00
simon b76f38e0bc
API: fix downloads list sort 2022-04-21 05:45:55 +07:00
simon 1477370376
init data instead of class attribute 2022-04-20 22:51:30 +07:00
simon 04fc6ed26a
API: add pagination 2022-04-20 22:43:07 +07:00
simon 3147df20da
skip subtitle segments without duration, take 2 2022-04-18 11:52:13 +07:00