simon
c59c1fc007
improved sponsorblock indexing, #build
...
Changed:
- improved more flexible sb timestamps indexing
- fixed per channel sb activate/deactivate
- improved Dockerfile with multi stage build
- added playlist API list view
2022-04-13 15:56:05 +07:00
simon
3007e02fe5
fix per channel sb integration
2022-04-13 15:53:00 +07:00
Nathan DeTar
39c4bd8883
Adjust to API changes for SB integration. ( #222 )
2022-04-13 10:30:32 +07:00
simon
cd3e9dd024
add playlist API list view
2022-04-13 09:51:15 +07:00
simon
8edde732b6
improved sponsorblock key with additional metadata
2022-04-12 17:47:13 +07:00
simon
3df1df8b5a
set explicit mappings for sponsorblock key
2022-04-12 17:45:06 +07:00
simon
385f53372c
bump django
2022-04-11 17:57:29 +07:00
Ainsey11
a8ee0da2b8
Addiing clarification on when the speed limit change takes effect ( #218 )
...
Relates to https://github.com/bbilly1/tubearchivist/issues/216
Speed limits work as designed, however the wording in the tooltip is a little unclear to newer users about when the speed limit takes effect on their downloads
2022-04-10 22:33:00 +07:00
Nathan DeTar
c316d05549
Added sponsorblock skipping ( #208 )
...
* Added sponsorblock skipping.
* Basic framework for sending SB timestamps
* Sponsorblock send timestamp UI improvements
* Added Sponsorblock Icons
* Minor UI tweaks
* Revert UI changes, implement in new UI
* Added notification when sponsor segment is skipped
* Add formatting for notifications & SB messages
* Added SB messages to JS player
* Added SB skip notifcation to videos page.
* Added SB messages to video page
* Change SB messages.
* Check channel_overwrites
* Check Per Channel Settings.
* Cleanup
2022-04-10 16:20:58 +07:00
simon
31378ac756
better generic schedule validator for impossible input, #209
2022-04-10 15:58:11 +07:00
simon
10385b1414
bump bs4
2022-04-10 15:57:15 +07:00
simon
d8c7b3df0b
better error message for wrong es version, #197
2022-04-09 14:12:03 +07:00
simon
99e0c1c90e
bump yt-dlp
2022-04-08 23:15:58 +07:00
simon
236215cc4c
add config var to video.html template
2022-04-08 22:10:16 +07:00
simon
552636d882
handle 404 in video item API view
2022-04-08 17:55:24 +07:00
simon
9d73dbc45a
implement video overwrites index for sponsorblock
2022-04-08 17:19:25 +07:00
simon
859bf2a28d
add target _blank to external links
2022-04-08 17:18:33 +07:00
simon
365ebf53a5
implement per channel sponsorblock
2022-04-08 17:17:39 +07:00
simon
fe3e3cfacc
fix filenotfounderror for missing subtitles when deleting video
2022-04-08 15:56:34 +07:00
simon
efa240440b
fix userspace for vide base config
2022-04-08 15:15:59 +07:00
simon
e2f4dd124a
bump beautifulsoup4
2022-04-08 15:15:37 +07:00
simon
a07d789e66
add base64 blur video thumb
2022-04-08 00:29:09 +07:00
simon
6a1cb15114
validate hours to not be greater than 23, #209
2022-04-07 23:02:07 +07:00
simon
b1a7a6a148
use cleaned_data for config form parser
2022-04-07 22:30:20 +07:00
simon
a84e657577
add documentation for sponsorblock api endpoints
2022-04-05 22:27:55 +07:00
simon
03dd25cff4
implement vote on sponsorblock segments api
2022-04-05 22:25:40 +07:00
simon
286b1cf9b6
simulate sponsorblock post request
2022-04-05 21:51:45 +07:00
simon
bace7d41af
add random string generator helper function
2022-04-05 21:51:10 +07:00
simon
738b083a7f
create dedicated SponsorBlock class to handle integration
2022-04-05 21:50:40 +07:00
simon
1ac92254ad
add global vars for version and url
2022-04-05 18:43:15 +07:00
simon
e404bac7c3
bump celery
2022-04-05 18:35:06 +07:00
simon
a8b62e5cdc
better error message on sponsorblock fail
2022-04-04 23:28:32 +07:00
simon
730d12212f
implement basic sponsblock indexing, #119
2022-04-04 23:28:32 +07:00
simon
29f8e148da
bump libraries
2022-04-04 23:28:32 +07:00
simon
cae00b032b
return better data for ping api, add to readme
2022-04-01 16:24:40 +07:00
simon
9ab6955125
add connection test api view
2022-03-31 21:13:21 +07:00
simon
46622d9ab2
bump redis lib
2022-03-31 21:13:04 +07:00
simon
6f5969f520
add video list api view
2022-03-29 17:05:22 +07:00
simon
0c8fa8f49e
clean up prints
2022-03-29 17:03:34 +07:00
simon
80af255f25
reinvent SearchProcess class for API endpoints
2022-03-29 16:48:04 +07:00
simon
cdc617c382
add datestr generator
2022-03-29 16:47:21 +07:00
simon
f1fb504874
fix spacing
2022-03-29 10:33:43 +07:00
simon
5dce2441fa
add API login view
2022-03-29 10:17:47 +07:00
simon
5d8e314983
be more explicit what you are searching now
2022-03-28 12:43:57 +07:00
simon
358194468e
increase version to v0.1.3
2022-03-26 19:47:50 +07:00
simon
f15bb50cfe
fix playlist reindex after PendingList refactor
2022-03-26 18:31:00 +07:00
simon
fcadb5ead8
add random headers for requests outside of yt-dlp
2022-03-26 11:49:53 +07:00
simon
a0ed88580f
fix index validate_mappings for new nested object
2022-03-26 10:52:57 +07:00
simon
40d7e6da37
add secondary sort for channel and title, #193
2022-03-25 17:28:17 +07:00
simon
bcf9185bd3
implement es version check at startup
2022-03-25 15:33:09 +07:00
simon
337b373628
improve build to install debug tools in testing
2022-03-24 19:54:47 +07:00
simon
59d58f8866
bump redis version
2022-03-24 19:51:45 +07:00
simon
d0f826485f
move and rename configure button
2022-03-24 16:10:40 +07:00
simon
d5cd90eb34
style and toggle hide overwrite form
2022-03-24 15:43:15 +07:00
simon
8d1d09e698
extend IndexPaginate to optionally return _source key
2022-03-23 17:17:42 +07:00
simon
fb4c11bd38
refactor ElasticIndex and ElasticBackup to use ElasticWrap and IndexPaginate
2022-03-23 17:17:17 +07:00
simon
bfcc538ed1
fix concurrency issue with subtitle indexing
2022-03-23 16:20:33 +07:00
simon
912c19f6cf
use ElasticWrap in FilesystemScanner
2022-03-23 15:56:53 +07:00
simon
fda520ad44
refactor and consolidate Reindex class
2022-03-23 15:48:38 +07:00
simon
1f7d6871cf
use ElasticWrap to delete item from pending
2022-03-23 11:09:21 +07:00
simon
5b1c9c64de
cleanup, use ElasticWrap
2022-03-23 09:44:31 +07:00
simon
f802c4d596
remove logging
2022-03-22 18:43:29 +07:00
simon
192d379a3e
refacter api views to use ElasticWrap
2022-03-22 18:43:16 +07:00
simon
9f5c9b17a5
refactor redis connection, fix sync_redis_state task setup issue
2022-03-22 17:50:54 +07:00
simon
fa25a56126
fail open for in continue watching videos building
2022-03-22 13:07:22 +07:00
simon
75cd9d382d
fix duration builder on reindex by ignoring vtt files
2022-03-22 12:59:39 +07:00
simon
fd4f15ab66
refactor StartupCheck into class, lock if already run for multithreading
2022-03-22 10:35:36 +07:00
simon
1f1dfcb54f
better playlist scan message, private methods in YoutubeChannel class
2022-03-22 10:07:33 +07:00
simon
3d451e47e5
full playlist refresh and index for channel overwrites
2022-03-22 09:42:41 +07:00
simon
fc10fa62e8
remove now redundant find playlist botton
2022-03-21 19:07:58 +07:00
simon
875c601f4e
implement index channel playlist from form
2022-03-21 18:27:00 +07:00
simon
91a9477bba
refactor index_channel_playlists task, move to YoutubeChannel class
2022-03-21 17:59:21 +07:00
simon
fc311a7b7e
refactor validate_playlists and move into DownloadPostProcess class
2022-03-21 11:14:44 +07:00
simon
f803c5298b
fix missing update_status method call in ignore video
2022-03-21 11:09:16 +07:00
simon
e67d576d79
fix missing video list in index_channel_playlists
2022-03-21 10:47:15 +07:00
simon
7c6041d686
refactor VideoDownloader and implement per channel delete older than
2022-03-19 17:37:28 +07:00
simon
1411262793
remember channel overwrites on rescan, remove unused rescape_all_channels method
2022-03-19 15:12:29 +07:00
simon
9fd7e2b11a
rename channel_overwrites attribute
2022-03-19 15:03:38 +07:00
simon
3ba6e0478d
fix filesysem rescan function
2022-03-19 14:36:46 +07:00
simon
b68a00073f
fix thumbnail validation with new PendingList class
2022-03-19 14:27:37 +07:00
simon
89428297c9
add download format channel overwrite per video
2022-03-18 22:22:41 +07:00
simon
a7945e30e3
fix building missing vid ids list
2022-03-18 22:11:41 +07:00
simon
ac9df4e082
map channel overwrite to video id for later efficient mapping
2022-03-18 21:39:33 +07:00
simon
a6937db5fd
use the refactored PendingList class
2022-03-18 18:27:25 +07:00
simon
05b8dbc02f
refacor PendingList class into subclasses
2022-03-18 17:19:21 +07:00
simon
1498fadf27
implement channel playlist index overwrite
2022-03-16 12:32:42 +07:00
simon
f0e82caebb
add bool true to channel overwrite form parser
2022-03-16 12:32:02 +07:00
simon
2ef8823c2d
better channel overwrite update form
2022-03-16 12:09:50 +07:00
simon
dc67293052
add fallback channel overwrite fallback to frontend
2022-03-15 17:45:43 +07:00
simon
544d842a4a
rename channel format overwrite field
2022-03-15 17:45:15 +07:00
simon
774220ab1f
add channel overwrite form to frontend, store in es
2022-03-15 12:00:48 +07:00
simon
105d5bf3f7
add auto label to subtitle track
2022-03-13 22:56:20 +07:00
simon
026cc378fe
add get_overwrites and set_overwrites methods for channel
2022-03-12 22:19:42 +07:00
simon
8170d4913b
add fallback total video length if ffmpeg extraction failes
2022-03-12 21:53:03 +07:00
simon
7595e7501f
sort continue watching videos
2022-03-12 20:29:26 +07:00
simon
f6950a2ca5
list all in progress videos
2022-03-12 17:29:34 +07:00
simon
aff0cfb794
fix retiming issue for auto subtitles
2022-03-11 17:47:04 +07:00
simon
d3e9646fb6
private methods for YoutubeSubtitle and SubtitleParser
2022-03-10 20:45:13 +07:00
Nathan DeTar
6e3df21f8c
Continue Watching Section ( #188 )
...
* Replaced isWatched() function.
* Switched to `updateVideoWatchStatus()` function
* Updated Onclick to `updateVideoWatchStatus(this)`
* Handle `this` input in `updateVideoWatchStatus()`
2022-03-10 20:20:23 +07:00
simon
1ce832b846
fix autocaption extraction, flatten words, #180
2022-03-10 19:58:13 +07:00
simon
6a6c8fa5d8
bump yt-dlp version
2022-03-10 17:39:35 +07:00
simon
c186798e78
rewrite SubtitleParser, #180
2022-03-09 00:25:44 +07:00
simon
40c8e6d146
standardize template jinja indentation
2022-03-07 20:58:17 +07:00
simon
fb12a32d4f
use generic data-id and data-status attributes for watched checkbox
2022-03-07 20:48:45 +07:00
simon
437e83b2ae
add continue watching section to home page
2022-03-07 20:26:37 +07:00
simon
25bc66ae80
bump django version
2022-03-07 20:23:23 +07:00
Nathan DeTar
ad5e74cb27
Prevent setting progress bar on player close if video is watched. ( #182 )
...
* Prevent setting progress bar on close if watched.
2022-02-26 18:11:09 +07:00
simon
b28905bbae
bump footer version v0.1.2
2022-02-25 12:27:16 +07:00
simon
36a2996cda
clean exit of progress builder when no videos in channel
2022-02-25 12:20:22 +07:00
simon
b98ccd9dab
handle error if subscribed channel not available anymore, #175
2022-02-25 11:21:29 +07:00
simon
060f0d575e
change color of progress bar to dark
2022-02-25 10:51:37 +07:00
Nathan DeTar
99c97a703f
Reduce API Calls ( #181 )
...
* Reduce API calls
* Fix video id
* Updated `createVideoTag()` description.
* Fixed URL used for cast integration
* Check video duration
* Updates progress bar on watched and close.
* Set progress bar width to 0% by default
* Cleanup, function descriptions
* Cleanup console logging
* Update progress bar on cast progress every 10s
* Catch short <30s videos and mark as watched
2022-02-25 10:39:33 +07:00
simon
806448624d
return if no in progress videos
2022-02-24 21:25:12 +07:00
simon
df777104af
add video progress bar to channel_id and playlist_id views
2022-02-24 19:30:12 +07:00
simon
d88d6d6a61
add video progress bar
2022-02-24 18:58:26 +07:00
simon
6078d8d276
add youtube_id to progress api key
2022-02-24 18:55:52 +07:00
simon
c4d6bb35a3
add list_items for wildcard matching
2022-02-24 18:55:18 +07:00
simon
e0db73543e
Merge branch 'master' into testing
2022-02-24 09:39:56 +07:00
Nathan DeTar
4812b8da55
Save Video Progress ( #179 )
...
* Added cast integration docs.
* Changed header sizes.
* Added more space above Requirements
* Added cast integration docs.
* Removed separate cast integration docs
* Further indented quote from Google
* Switch to HTML based video position.
* Ground work for API changes and video progress
* Added onpause attribute to video.
* Added save video progress feature.
* Added API check for subtitle status.
* Switch method to DELETE if position is 0
* Added `createVideoTag()` function
* Added `InsertVideoTag()` function
* Switch to JS generated video tag, add on page load
* Removed extra data from DELETE request
* Removed unused code
* Reduced duplicate code
* Cleanup & groundwork cast pull metadata from API
* Minor bug fix
* Fix saving video progress on player close.
* Only send video progress when unwatched
* Cleanup
* Added `getURL()` function
* Cast use API & save progress/mark as watched
* Added cast progress checks
* Changed thresholds for marking videos as watched
* Added `watchedThreshold()` function
2022-02-24 09:36:31 +07:00
simon
b8b95f9d79
inheirt VideoProgressView from base class to get auth
2022-02-21 20:59:04 +07:00
simon
ec00568008
fix auto reset of playlist_subscribed
2022-02-20 19:22:11 +07:00
simon
241d8326f7
add video progress API endpoints
2022-02-17 18:20:30 +07:00
simon
4d83af7c14
bump redis client
2022-02-17 18:19:52 +07:00
simon
265795f4a9
add config key to api response
2022-02-17 16:59:59 +07:00
simon
047fc1f3f1
bump release version
2022-02-13 10:58:58 +07:00
simon
8fce31b983
fix reindex and deactivate error
2022-02-13 10:05:08 +07:00
simon
fef866bf0b
indicate max page size on downloads page, add note to wiki, #156
2022-02-12 19:42:07 +07:00
simon
428cc315e4
Subtitle improvements, #build
...
Changes:
- merges subtitle suport for JS video player
- merges hint what to do when no videos found
- merges better indexing and error handeling of subtitles
2022-02-12 19:11:47 +07:00
Nathan DeTar
385d6bace8
Fix cast support to handle new video tag format. ( #169 )
...
* Added subtitle support to JS player.
* Move `video-item` id to source tag.
* Move `video-item` id to source tag.
* Fix cast support to handle new video tag format
* Add subtitle support to cast integration, WIP
* Replace `&` with `&` in video titles.
* Check if the video is already marked as watched
* Switch to HTML watched check.
2022-02-12 19:08:19 +07:00
simon
78720b33b7
clean exit when auto subtitle extract fails
2022-02-12 18:52:03 +07:00
simon
ce4fa8ee61
delete existing before of reindexing subtitles
2022-02-12 18:22:01 +07:00
simon
a5f6be16e1
switch subtitle source order
2022-02-12 17:09:05 +07:00
simon
b494fc10af
cover edge cases where end timestamp is after start timestamp of new cue
2022-02-12 16:03:04 +07:00
simon
09500557c8
open fail on subtitle line parse error
2022-02-11 18:47:29 +07:00
simon
7524691b79
implement API token revoke
2022-02-11 18:19:10 +07:00
simon
f1de8db4f3
hide API token by default
2022-02-11 17:18:37 +07:00
simon
08f5248e7a
make subtitle index optional
2022-02-11 13:36:36 +07:00
Stephen Herbein
4467e97f3c
When no videos are found, add a hint to start a search/download ( #167 )
2022-02-11 12:52:26 +07:00
simon
af8e01cd8c
fix clean exit if no subtitles selected
2022-02-11 09:03:56 +07:00
Nathan DeTar
656a0c7327
Added subtitle support to JS player. ( #168 )
2022-02-11 08:53:09 +07:00
simon
16f33feda0
process subtitle media url paths
2022-02-10 19:45:22 +07:00
simon
3ea5e9c537
bump dependencies
2022-02-10 19:27:05 +07:00
simon
4d30bed3cc
extend delete video to also delete subtitles
2022-02-10 19:09:07 +07:00
simon
0e56efc428
limit filesystem scan to mp4 files only
2022-02-10 18:48:35 +07:00
simon
077692987b
fix multi language subtitle extractor, and better regex for timestamp matching
2022-02-10 18:32:23 +07:00
simon
b071612038
better error raising for add player info
2022-02-10 17:34:21 +07:00
simon
0414df0de0
fix key error for subtitle source
2022-02-10 17:10:30 +07:00
simon
a2cae51f48
bulk import subtitle lines into es
2022-02-10 17:02:19 +07:00
simon
9f652802ae
add new mapping for subtitle index
2022-02-10 11:47:14 +07:00
simon
4e4cfe3334
pass whole video object into YoutubeSubtitle class
2022-02-09 23:40:15 +07:00