summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
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)