summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOmar Roth <omarroth@hotmail.com>2019-02-09 10:18:24 -0600
committerOmar Roth <omarroth@hotmail.com>2019-02-09 10:49:48 -0600
commit30e6d291066f489a27b558f536a8ee4f83d79f73 (patch)
tree901969cd47393dbbee906ef536439b38491ef4ce /src
parent7a9ef0d664c9d8d4eec879fadeb823568877bf28 (diff)
downloadinvidious-30e6d291066f489a27b558f536a8ee4f83d79f73.tar.gz
invidious-30e6d291066f489a27b558f536a8ee4f83d79f73.tar.bz2
invidious-30e6d291066f489a27b558f536a8ee4f83d79f73.zip
Add 'deleted' to channel info
Diffstat (limited to 'src')
-rw-r--r--src/invidious/channels.cr3
-rw-r--r--src/invidious/jobs.cr5
2 files changed, 6 insertions, 2 deletions
diff --git a/src/invidious/channels.cr b/src/invidious/channels.cr
index 956450d5..ccaf2487 100644
--- a/src/invidious/channels.cr
+++ b/src/invidious/channels.cr
@@ -3,6 +3,7 @@ class InvidiousChannel
id: String,
author: String,
updated: Time,
+ deleted: Bool,
})
end
@@ -187,7 +188,7 @@ def fetch_channel(ucid, client, db, pull_all_videos = true, locale = nil)
db.exec("DELETE FROM channel_videos * WHERE NOT id = ANY ('{#{ids.map { |id| %("#{id}") }.join(",")}}') AND ucid = $1", ucid)
end
- channel = InvidiousChannel.new(ucid, author, Time.now)
+ channel = InvidiousChannel.new(ucid, author, Time.now, false)
return channel
end
diff --git a/src/invidious/jobs.cr b/src/invidious/jobs.cr
index f6e2d8fe..04816efd 100644
--- a/src/invidious/jobs.cr
+++ b/src/invidious/jobs.cr
@@ -55,7 +55,7 @@ def refresh_channels(db, logger, max_threads = 1, full_refresh = false)
active_channel = Channel(Bool).new
loop do
- db.query("SELECT id FROM channels ORDER BY updated") do |rs|
+ db.query("SELECT id FROM channels WHERE deleted = false ORDER BY updated") do |rs|
rs.each do
id = rs.read(String)
@@ -73,6 +73,9 @@ def refresh_channels(db, logger, max_threads = 1, full_refresh = false)
db.exec("UPDATE channels SET updated = $1, author = $2 WHERE id = $3", Time.now, channel.author, id)
rescue ex
+ if ex.message == "Deleted or invalid channel"
+ db.exec("UPDATE channels SET deleted = true WHERE id = $1", id)
+ end
logger.write("#{id} : #{ex.message}\n")
end