Sean Norwood
cfffa8bd38
chore: just render api data for now
2022-04-04 19:57:27 +00:00
a8b62e5cdc
better error message on sponsorblock fail
2022-04-04 23:28:32 +07:00
730d12212f
implement basic sponsblock indexing, #119
2022-04-04 23:28:32 +07:00
29f8e148da
bump libraries
2022-04-04 23:28:32 +07:00
Sean Norwood
97c01a2f3a
chore: type info for api
2022-04-04 02:52:23 +00:00
Sean Norwood
9284b93f2a
chore: start laying out the home page
...
* Use the layout component
* Use SSR to get videos from API
2022-04-04 02:52:03 +00:00
Sean Norwood
4fa8cd89e2
chore: external script work and comments
2022-04-04 02:51:16 +00:00
Sean Norwood
a129e737d2
chore: add static images
2022-04-04 02:50:54 +00:00
Sean Norwood
8b10fd9302
chore: add various components
...
* Footer
* Head
* Layout
* Nav
* VideoList
2022-04-04 02:50:43 +00:00
Sean Norwood
7ac6e6c26b
chore: use correct typescript version for eslint
2022-04-03 20:04:53 +00:00
Sean Norwood
2c4ab1bb42
chore: use new components
2022-04-03 20:04:28 +00:00
Sean Norwood
73106fc74a
chore: add external scripts
2022-04-03 20:04:17 +00:00
Sean Norwood
3c4c15a8e3
chore: move dynamic header component to header file
2022-04-03 20:03:47 +00:00
Sean Norwood
62c219c2de
chore: add custom head element
2022-04-03 20:03:30 +00:00
Sean Norwood
734078c5d7
Merge branch 'master' of https://github.com/bbilly1/tubearchivist into feat/react-frontend
2022-04-03 18:33:10 +00:00
Sean Norwood
3870a54d2e
chore: enable streaming ssr
2022-04-03 00:28:12 +00:00
Sean Norwood
cf9181919a
chore: initial suspense setup
2022-04-03 00:27:33 +00:00
Sean Norwood
ad67cb00e2
chore: remove console log
2022-04-03 00:27:00 +00:00
Sean Norwood
eec288af5f
chore: add external js files
2022-04-03 00:26:53 +00:00
Sean Norwood
d880f95c44
chore: header component
2022-04-03 00:26:42 +00:00
Sean Norwood
1e3087c245
chore: update to react 18
2022-04-03 00:26:30 +00:00
cae00b032b
return better data for ping api, add to readme
2022-04-01 16:24:40 +07:00
9ab6955125
add connection test api view
2022-03-31 21:13:21 +07:00
46622d9ab2
bump redis lib
2022-03-31 21:13:04 +07:00
Sean Norwood
1b5534b6d4
Initial React frontend work
...
Uses NextJS as a React framework
Initial import of assets in `public/`:
* css/
* favicon/
* img/
Initial authentication work
* Use next-auth CredentialsProvider to pull user information from TA
* Add sign in and sign out functionality using default next-auth
login page
TODO
* Custom login page
2022-03-29 17:19:24 +00:00
6f5969f520
add video list api view
2022-03-29 17:05:22 +07:00
0c8fa8f49e
clean up prints
2022-03-29 17:03:34 +07:00
80af255f25
reinvent SearchProcess class for API endpoints
2022-03-29 16:48:04 +07:00
cdc617c382
add datestr generator
2022-03-29 16:47:21 +07:00
f1fb504874
fix spacing
2022-03-29 10:33:43 +07:00
5dce2441fa
add API login view
2022-03-29 10:17:47 +07:00
5d8e314983
be more explicit what you are searching now
2022-03-28 12:43:57 +07:00
358194468e
increase version to v0.1.3
2022-03-26 19:47:50 +07:00
f15bb50cfe
fix playlist reindex after PendingList refactor
2022-03-26 18:31:00 +07:00
fcadb5ead8
add random headers for requests outside of yt-dlp
2022-03-26 11:49:53 +07:00
a0ed88580f
fix index validate_mappings for new nested object
2022-03-26 10:52:57 +07:00
40d7e6da37
add secondary sort for channel and title, #193
2022-03-25 17:28:17 +07:00
bcf9185bd3
implement es version check at startup
2022-03-25 15:33:09 +07:00
337b373628
improve build to install debug tools in testing
2022-03-24 19:54:47 +07:00
59d58f8866
bump redis version
2022-03-24 19:51:45 +07:00
d0f826485f
move and rename configure button
2022-03-24 16:10:40 +07:00
d5cd90eb34
style and toggle hide overwrite form
2022-03-24 15:43:15 +07:00
8d1d09e698
extend IndexPaginate to optionally return _source key
2022-03-23 17:17:42 +07:00
fb4c11bd38
refactor ElasticIndex and ElasticBackup to use ElasticWrap and IndexPaginate
2022-03-23 17:17:17 +07:00
bfcc538ed1
fix concurrency issue with subtitle indexing
2022-03-23 16:20:33 +07:00
912c19f6cf
use ElasticWrap in FilesystemScanner
2022-03-23 15:56:53 +07:00
fda520ad44
refactor and consolidate Reindex class
2022-03-23 15:48:38 +07:00
1f7d6871cf
use ElasticWrap to delete item from pending
2022-03-23 11:09:21 +07:00
5b1c9c64de
cleanup, use ElasticWrap
2022-03-23 09:44:31 +07:00
f802c4d596
remove logging
2022-03-22 18:43:29 +07:00
192d379a3e
refacter api views to use ElasticWrap
2022-03-22 18:43:16 +07:00
9f5c9b17a5
refactor redis connection, fix sync_redis_state task setup issue
2022-03-22 17:50:54 +07:00
fa25a56126
fail open for in continue watching videos building
2022-03-22 13:07:22 +07:00
75cd9d382d
fix duration builder on reindex by ignoring vtt files
2022-03-22 12:59:39 +07:00
fd4f15ab66
refactor StartupCheck into class, lock if already run for multithreading
2022-03-22 10:35:36 +07:00
1f1dfcb54f
better playlist scan message, private methods in YoutubeChannel class
2022-03-22 10:07:33 +07:00
3d451e47e5
full playlist refresh and index for channel overwrites
2022-03-22 09:42:41 +07:00
fc10fa62e8
remove now redundant find playlist botton
2022-03-21 19:07:58 +07:00
875c601f4e
implement index channel playlist from form
2022-03-21 18:27:00 +07:00
91a9477bba
refactor index_channel_playlists task, move to YoutubeChannel class
2022-03-21 17:59:21 +07:00
fc311a7b7e
refactor validate_playlists and move into DownloadPostProcess class
2022-03-21 11:14:44 +07:00
f803c5298b
fix missing update_status method call in ignore video
2022-03-21 11:09:16 +07:00
e67d576d79
fix missing video list in index_channel_playlists
2022-03-21 10:47:15 +07:00
7c6041d686
refactor VideoDownloader and implement per channel delete older than
2022-03-19 17:37:28 +07:00
1411262793
remember channel overwrites on rescan, remove unused rescape_all_channels method
2022-03-19 15:12:29 +07:00
9fd7e2b11a
rename channel_overwrites attribute
2022-03-19 15:03:38 +07:00
3ba6e0478d
fix filesysem rescan function
2022-03-19 14:36:46 +07:00
b68a00073f
fix thumbnail validation with new PendingList class
2022-03-19 14:27:37 +07:00
89428297c9
add download format channel overwrite per video
2022-03-18 22:22:41 +07:00
a7945e30e3
fix building missing vid ids list
2022-03-18 22:11:41 +07:00
ac9df4e082
map channel overwrite to video id for later efficient mapping
2022-03-18 21:39:33 +07:00
a6937db5fd
use the refactored PendingList class
2022-03-18 18:27:25 +07:00
05b8dbc02f
refacor PendingList class into subclasses
2022-03-18 17:19:21 +07:00
1498fadf27
implement channel playlist index overwrite
2022-03-16 12:32:42 +07:00
f0e82caebb
add bool true to channel overwrite form parser
2022-03-16 12:32:02 +07:00
2ef8823c2d
better channel overwrite update form
2022-03-16 12:09:50 +07:00
dc67293052
add fallback channel overwrite fallback to frontend
2022-03-15 17:45:43 +07:00
544d842a4a
rename channel format overwrite field
2022-03-15 17:45:15 +07:00
774220ab1f
add channel overwrite form to frontend, store in es
2022-03-15 12:00:48 +07:00
105d5bf3f7
add auto label to subtitle track
2022-03-13 22:56:20 +07:00
026cc378fe
add get_overwrites and set_overwrites methods for channel
2022-03-12 22:19:42 +07:00
8170d4913b
add fallback total video length if ffmpeg extraction failes
2022-03-12 21:53:03 +07:00
7595e7501f
sort continue watching videos
2022-03-12 20:29:26 +07:00
f6950a2ca5
list all in progress videos
2022-03-12 17:29:34 +07:00
aff0cfb794
fix retiming issue for auto subtitles
2022-03-11 17:47:04 +07:00
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
1ce832b846
fix autocaption extraction, flatten words, #180
2022-03-10 19:58:13 +07:00
6a6c8fa5d8
bump yt-dlp version
2022-03-10 17:39:35 +07:00
c186798e78
rewrite SubtitleParser, #180
2022-03-09 00:25:44 +07:00
40c8e6d146
standardize template jinja indentation
2022-03-07 20:58:17 +07:00
fb12a32d4f
use generic data-id and data-status attributes for watched checkbox
2022-03-07 20:48:45 +07:00
437e83b2ae
add continue watching section to home page
2022-03-07 20:26:37 +07:00
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
b28905bbae
bump footer version v0.1.2
2022-02-25 12:27:16 +07:00
36a2996cda
clean exit of progress builder when no videos in channel
2022-02-25 12:20:22 +07:00
b98ccd9dab
handle error if subscribed channel not available anymore, #175
2022-02-25 11:21:29 +07:00
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
806448624d
return if no in progress videos
2022-02-24 21:25:12 +07:00
df777104af
add video progress bar to channel_id and playlist_id views
2022-02-24 19:30:12 +07:00
d88d6d6a61
add video progress bar
2022-02-24 18:58:26 +07:00
6078d8d276
add youtube_id to progress api key
2022-02-24 18:55:52 +07:00
c4d6bb35a3
add list_items for wildcard matching
2022-02-24 18:55:18 +07:00
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
b8b95f9d79
inheirt VideoProgressView from base class to get auth
2022-02-21 20:59:04 +07:00
ec00568008
fix auto reset of playlist_subscribed
2022-02-20 19:22:11 +07:00
241d8326f7
add video progress API endpoints
2022-02-17 18:20:30 +07:00
4d83af7c14
bump redis client
2022-02-17 18:19:52 +07:00
265795f4a9
add config key to api response
2022-02-17 16:59:59 +07:00
047fc1f3f1
bump release version
2022-02-13 10:58:58 +07:00
8fce31b983
fix reindex and deactivate error
2022-02-13 10:05:08 +07:00
fef866bf0b
indicate max page size on downloads page, add note to wiki, #156
2022-02-12 19:42:07 +07:00
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
78720b33b7
clean exit when auto subtitle extract fails
2022-02-12 18:52:03 +07:00
ce4fa8ee61
delete existing before of reindexing subtitles
2022-02-12 18:22:01 +07:00
a5f6be16e1
switch subtitle source order
2022-02-12 17:09:05 +07:00
b494fc10af
cover edge cases where end timestamp is after start timestamp of new cue
2022-02-12 16:03:04 +07:00
09500557c8
open fail on subtitle line parse error
2022-02-11 18:47:29 +07:00
7524691b79
implement API token revoke
2022-02-11 18:19:10 +07:00
f1de8db4f3
hide API token by default
2022-02-11 17:18:37 +07:00
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
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
16f33feda0
process subtitle media url paths
2022-02-10 19:45:22 +07:00
3ea5e9c537
bump dependencies
2022-02-10 19:27:05 +07:00
4d30bed3cc
extend delete video to also delete subtitles
2022-02-10 19:09:07 +07:00
0e56efc428
limit filesystem scan to mp4 files only
2022-02-10 18:48:35 +07:00
077692987b
fix multi language subtitle extractor, and better regex for timestamp matching
2022-02-10 18:32:23 +07:00
b071612038
better error raising for add player info
2022-02-10 17:34:21 +07:00
0414df0de0
fix key error for subtitle source
2022-02-10 17:10:30 +07:00
a2cae51f48
bulk import subtitle lines into es
2022-02-10 17:02:19 +07:00
9f652802ae
add new mapping for subtitle index
2022-02-10 11:47:14 +07:00
4e4cfe3334
pass whole video object into YoutubeSubtitle class
2022-02-09 23:40:15 +07:00
6cb892a811
integrate auto generated subtitle cleaner
2022-02-09 21:33:41 +07:00
5f6158243e
auto generated subtitle parser and cleaner
2022-02-07 21:18:52 +07:00
1664b0d4fc
restructure video tag to add subtitle tracks
2022-02-06 00:08:24 +07:00
e98ffc0050
add subtitles mapping to video index
2022-02-05 23:50:47 +07:00
52013aff3f
fix subtitle download of first video of channel without folder
2022-02-05 23:42:42 +07:00
44af78b7e3
handle NA in ffprobe duration extractor
2022-02-05 23:09:05 +07:00
2bf9e9683b
error handeling in _normalize_lang to skip livechat and ignore missing
2022-02-05 22:51:38 +07:00
f5f46349b2
handle rescan name change
2022-02-05 22:38:59 +07:00
851fbae900
fix video template dislike icon and add watched icon
2022-02-05 18:42:09 +07:00
91452b5114
remove redundant video player api endpoint
2022-02-05 18:35:02 +07:00
5b37bd059c
Merge branch 'testing'
...
combine new api endpoints from #151
2022-02-05 18:27:24 +07:00
Nathan DeTar
9079a2a78b
Get Video Player Data Using New API ( #151 )
...
* Get video player data using new API
* Spelling
* Removed extra data from play button
* Reworked createPlayer, switched functions to API
* Add theme to scrollbar
* Removed extra metadata from playlist page
* Removed extra metadat from channel page
* Reworked createPlayer, switched functions to API
* Update style.css
* Changed watched indicator to match createVideo()
* Fixed createPlayer() watched button
* Fix watched indicator duplication
* Minor clean up
* Removed player-wrapper background
* Added video/channel info to generated player
* Removed description due to textReveal() conflict
* Mark video as played at 90% playback
* Groundwork for saving video playback
* Add half and empty stars to getStarRating()
* Check videoProgress input.
* Added last refresh and date published
* Switched date in create functions to API
* Fomatted dates to match the old format
* Remove console log from formatDates()
* Cleaned up error on video player close
* Added check for ryd dislikes/rating
* Refined ryd check
* Simplified player
* Added player stats css formatting
* Formatting for playlist name/link
* Add playlist title/link to player
* Commented out no longer used code
* Fix missing end `"` on video-player class
* Additional playlist error checking
* Change setting video progress to html method
* center thumbs icon, add eye icon for watched
* add playerStats builder example, change some spacing
* Removed `-` before playlist, reordered cast button
* Minor cleanup of unused code.
* Corrected POST data formating
* consolidate video api calls into one
* remove redundant api calls for search result population
* do some jshint
* shorten unit and add K to formatNumbers
Co-authored-by: simon <simobilleter@gmail.com>
2022-02-05 18:26:31 +07:00