summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOmar Roth <omarroth@hotmail.com>2018-10-06 18:36:06 -0500
committerOmar Roth <omarroth@hotmail.com>2018-10-06 18:36:06 -0500
commitdc358fc7e558d572754d9fc68e6a4f73a54af8b2 (patch)
tree5a29af9c4eb14f1f8faa7d5fb76be9e37de9c03d
parente14f2f275035439b286a8c887be9544c65620209 (diff)
downloadinvidious-dc358fc7e558d572754d9fc68e6a4f73a54af8b2.tar.gz
invidious-dc358fc7e558d572754d9fc68e6a4f73a54af8b2.tar.bz2
invidious-dc358fc7e558d572754d9fc68e6a4f73a54af8b2.zip
Don't add channels if they've been deleted
-rw-r--r--src/invidious.cr14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/invidious.cr b/src/invidious.cr
index b78e8f72..4501efd8 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -1115,12 +1115,14 @@ post "/data_control" do |env|
body = JSON.parse(body)
body["subscriptions"].as_a.each do |ucid|
ucid = ucid.as_s
- if !user.subscriptions.includes? ucid
- PG_DB.exec("UPDATE users SET subscriptions = array_append(subscriptions,$1) WHERE email = $2", ucid, user.email)
+ if !user.subscriptions.includes? ucid
begin
client = make_client(YT_URL)
get_channel(ucid, client, PG_DB, false, false)
+
+ PG_DB.exec("UPDATE users SET subscriptions = array_append(subscriptions,$1) WHERE email = $2", ucid, user.email)
+ user.subscriptions << ucid
rescue ex
next
end
@@ -1129,6 +1131,7 @@ post "/data_control" do |env|
body["watch_history"].as_a.each do |id|
id = id.as_s
+
if !user.watched.includes? id
PG_DB.exec("UPDATE users SET watched = array_append(watched,$1) WHERE email = $2", id, user.email)
user.watched << id
@@ -1175,11 +1178,12 @@ post "/data_control" do |env|
ucid = channel["url"].as_s.match(/UC[a-zA-Z0-9_-]{22}/).not_nil![0]
if !user.subscriptions.includes? ucid
- PG_DB.exec("UPDATE users SET subscriptions = array_append(subscriptions,$1) WHERE email = $2", ucid, user.email)
-
begin
client = make_client(YT_URL)
get_channel(ucid, client, PG_DB, false, false)
+
+ PG_DB.exec("UPDATE users SET subscriptions = array_append(subscriptions,$1) WHERE email = $2", ucid, user.email)
+ user.subscriptions << ucid
rescue ex
next
end
@@ -1196,6 +1200,7 @@ post "/data_control" do |env|
db = entry.io.gets_to_end
db.scan(/youtube\.com\/watch\?v\=(?<id>[a-zA-Z0-9_-]{11})/) do |md|
id = md["id"]
+
if !user.watched.includes? id
PG_DB.exec("UPDATE users SET watched = array_append(watched,$1) WHERE email = $2", id, user.email)
user.watched << id
@@ -1204,6 +1209,7 @@ post "/data_control" do |env|
db.scan(/youtube\.com\/channel\/(?<ucid>[a-zA-Z0-9_-]{22})/) do |md|
ucid = md["ucid"]
+
if !user.subscriptions.includes? ucid
begin
client = make_client(YT_URL)