summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamantaz Fox <coding@samantaz.fr>2022-02-13 22:35:22 +0100
committerSamantaz Fox <coding@samantaz.fr>2022-02-13 22:40:51 +0100
commit57353fe0c611f2065ccec8863d26ab586d72fdfb (patch)
tree753e0216dfd2e732b1d20775d6d721950fa44bf7 /src
parent60e870b27783bdcdb07d26489b50d18a85c49eeb (diff)
downloadinvidious-57353fe0c611f2065ccec8863d26ab586d72fdfb.tar.gz
invidious-57353fe0c611f2065ccec8863d26ab586d72fdfb.tar.bz2
invidious-57353fe0c611f2065ccec8863d26ab586d72fdfb.zip
Fix Freetube subscriptions import
Diffstat (limited to 'src')
-rw-r--r--src/invidious/user/imports.cr9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/invidious/user/imports.cr b/src/invidious/user/imports.cr
index 61d10719..f8b9e4e4 100644
--- a/src/invidious/user/imports.cr
+++ b/src/invidious/user/imports.cr
@@ -152,9 +152,16 @@ struct Invidious::User
# -------------------
def from_freetube(user : User, body : String)
+ # Legacy import?
matches = body.scan(/"channelId":"(?<channel_id>[a-zA-Z0-9_-]{24})"/)
+ subs = matches.map(&.["channel_id"])
- user.subscriptions += matches.map(&.["channel_id"])
+ if subs.empty?
+ data = JSON.parse(body)["subscriptions"]
+ subs = data.as_a.map(&.["id"].as_s)
+ end
+
+ user.subscriptions += subs
user.subscriptions.uniq!
user.subscriptions = get_batch_channels(user.subscriptions)