mirror of
https://github.com/tubearchivist/tubearchivist-frontend.git
synced 2024-11-25 05:00:16 +00:00
Merge branch 'testing' of https://github.com/bbilly1/tubearchivist into feat/react-frontend
This commit is contained in:
commit
cf11ae53d4
@ -153,10 +153,9 @@ We have come far, nonetheless we are not short of ideas on how to improve and ex
|
|||||||
- [ ] Podcast mode to serve channel as mp3
|
- [ ] Podcast mode to serve channel as mp3
|
||||||
- [ ] Implement [PyFilesystem](https://github.com/PyFilesystem/pyfilesystem2) for flexible video storage
|
- [ ] Implement [PyFilesystem](https://github.com/PyFilesystem/pyfilesystem2) for flexible video storage
|
||||||
- [ ] Implement [Apprise](https://github.com/caronc/apprise) for notifications ([#97](https://github.com/tubearchivist/tubearchivist/issues/97))
|
- [ ] Implement [Apprise](https://github.com/caronc/apprise) for notifications ([#97](https://github.com/tubearchivist/tubearchivist/issues/97))
|
||||||
- [ ] Add [SponsorBlock](https://sponsor.ajay.app/) integration
|
|
||||||
- [ ] Add passing browser cookies to yt-dlp ([#199](https://github.com/tubearchivist/tubearchivist/issues/199))
|
- [ ] Add passing browser cookies to yt-dlp ([#199](https://github.com/tubearchivist/tubearchivist/issues/199))
|
||||||
- [ ] User created playlists, random and repeat controls ([#108](https://github.com/tubearchivist/tubearchivist/issues/108), [#220](https://github.com/tubearchivist/tubearchivist/issues/220))
|
- [ ] User created playlists, random and repeat controls ([#108](https://github.com/tubearchivist/tubearchivist/issues/108), [#220](https://github.com/tubearchivist/tubearchivist/issues/220))
|
||||||
- [ ] Auto play or play next link
|
- [ ] Auto play or play next link ([#226](https://github.com/tubearchivist/tubearchivist/issues/226))
|
||||||
- [ ] Show similar videos on video page
|
- [ ] Show similar videos on video page
|
||||||
- [ ] Multi language support
|
- [ ] Multi language support
|
||||||
- [ ] Show total video downloaded vs total videos available in channel
|
- [ ] Show total video downloaded vs total videos available in channel
|
||||||
@ -166,8 +165,10 @@ We have come far, nonetheless we are not short of ideas on how to improve and ex
|
|||||||
- [ ] Filter and query in search form, search by url query ([#134](https://github.com/tubearchivist/tubearchivist/issues/134), [#139](https://github.com/tubearchivist/tubearchivist/issues/139))
|
- [ ] Filter and query in search form, search by url query ([#134](https://github.com/tubearchivist/tubearchivist/issues/134), [#139](https://github.com/tubearchivist/tubearchivist/issues/139))
|
||||||
- [ ] Auto ignore videos by keyword ([#163](https://github.com/tubearchivist/tubearchivist/issues/163))
|
- [ ] Auto ignore videos by keyword ([#163](https://github.com/tubearchivist/tubearchivist/issues/163))
|
||||||
- [ ] Custom searchable notes to videos, channels, playlists ([#144](https://github.com/tubearchivist/tubearchivist/issues/144))
|
- [ ] Custom searchable notes to videos, channels, playlists ([#144](https://github.com/tubearchivist/tubearchivist/issues/144))
|
||||||
|
- [ ] Download video comments
|
||||||
|
|
||||||
Implemented:
|
Implemented:
|
||||||
|
- [X] Add [SponsorBlock](https://sponsor.ajay.app/) integration [2022-04-16]
|
||||||
- [X] Implement per channel settings [2022-03-26]
|
- [X] Implement per channel settings [2022-03-26]
|
||||||
- [X] Subtitle download & indexing [2022-02-13]
|
- [X] Subtitle download & indexing [2022-02-13]
|
||||||
- [X] Fancy advanced unified search interface [2022-01-08]
|
- [X] Fancy advanced unified search interface [2022-01-08]
|
||||||
|
@ -154,4 +154,4 @@ CORS_ALLOW_HEADERS = list(default_headers) + [
|
|||||||
|
|
||||||
# TA application settings
|
# TA application settings
|
||||||
TA_UPSTREAM = "https://github.com/tubearchivist/tubearchivist"
|
TA_UPSTREAM = "https://github.com/tubearchivist/tubearchivist"
|
||||||
TA_VERSION = "v0.1.3"
|
TA_VERSION = "v0.1.4"
|
||||||
|
@ -196,7 +196,7 @@ class VideoDownloader:
|
|||||||
"title": "Completed",
|
"title": "Completed",
|
||||||
"message": "",
|
"message": "",
|
||||||
}
|
}
|
||||||
RedisArchivist().set_message("message:download", mess_dict, 4)
|
RedisArchivist().set_message("message:download", mess_dict, 10)
|
||||||
self._delete_from_pending(youtube_id)
|
self._delete_from_pending(youtube_id)
|
||||||
|
|
||||||
# post processing
|
# post processing
|
||||||
|
@ -333,7 +333,7 @@ function createPlayer(button) {
|
|||||||
var videoData = getVideoData(videoId);
|
var videoData = getVideoData(videoId);
|
||||||
|
|
||||||
var sponsorBlockElements = '';
|
var sponsorBlockElements = '';
|
||||||
if (videoData.data.sponsorblock.is_enabled) {
|
if (videoData.data.sponsorblock && videoData.data.sponsorblock.is_enabled) {
|
||||||
sponsorBlock = videoData.data.sponsorblock;
|
sponsorBlock = videoData.data.sponsorblock;
|
||||||
if (sponsorBlock.segments.length == 0) {
|
if (sponsorBlock.segments.length == 0) {
|
||||||
sponsorBlockElements = `
|
sponsorBlockElements = `
|
||||||
@ -505,19 +505,21 @@ function getVideoPlayerWatchStatus() {
|
|||||||
return watched;
|
return watched;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Runs on video playback, marks video as watched if video gets to 90% or higher, sends position to api
|
// Runs on video playback, marks video as watched if video gets to 90% or higher, sends position to api, SB skipping
|
||||||
function onVideoProgress() {
|
function onVideoProgress() {
|
||||||
var videoId = getVideoPlayerVideoId();
|
var videoId = getVideoPlayerVideoId();
|
||||||
var currentTime = getVideoPlayerCurrentTime();
|
var currentTime = getVideoPlayerCurrentTime();
|
||||||
var duration = getVideoPlayerDuration();
|
var duration = getVideoPlayerDuration();
|
||||||
var videoElement = getVideoPlayer();
|
var videoElement = getVideoPlayer();
|
||||||
// var sponsorBlockElement = document.getElementById("sponsorblock");
|
|
||||||
var notificationsElement = document.getElementById("notifications");
|
var notificationsElement = document.getElementById("notifications");
|
||||||
if (sponsorBlock.segments.length > 0) {
|
if (sponsorBlock && sponsorBlock.segments) {
|
||||||
for(let i in sponsorBlock.segments) {
|
for(let i in sponsorBlock.segments) {
|
||||||
if(sponsorBlock.segments[i].segment[0] <= currentTime + 0.3 && sponsorBlock.segments[i].segment[0] >= currentTime) {
|
if(currentTime >= sponsorBlock.segments[i].segment[0] && currentTime <= sponsorBlock.segments[i].segment[0] + 0.3) {
|
||||||
videoElement.currentTime = sponsorBlock.segments[i].segment[1];
|
videoElement.currentTime = sponsorBlock.segments[i].segment[1];
|
||||||
notificationsElement.innerHTML += `<h3 id="notification-${sponsorBlock.segments[i].UUID}">Skipped sponsor segment from ${formatTime(sponsorBlock.segments[i].segment[0])} to ${formatTime(sponsorBlock.segments[i].segment[1])}.</h3>`;
|
var notificationElement = document.getElementById("notification-" + sponsorBlock.segments[i].UUID);
|
||||||
|
if (!notificationElement) {
|
||||||
|
notificationsElement.innerHTML += `<h3 id="notification-${sponsorBlock.segments[i].UUID}">Skipped sponsor segment from ${formatTime(sponsorBlock.segments[i].segment[0])} to ${formatTime(sponsorBlock.segments[i].segment[1])}.</h3>`;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(currentTime > sponsorBlock.segments[i].segment[1] + 10) {
|
if(currentTime > sponsorBlock.segments[i].segment[1] + 10) {
|
||||||
var notificationsElementUUID = document.getElementById("notification-" + sponsorBlock.segments[i].UUID);
|
var notificationsElementUUID = document.getElementById("notification-" + sponsorBlock.segments[i].UUID);
|
||||||
|
Loading…
Reference in New Issue
Block a user