summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamantaz Fox <coding@samantaz.fr>2022-02-04 05:19:22 +0100
committerSamantaz Fox <coding@samantaz.fr>2022-02-07 17:15:22 +0100
commitef8dc7272beed31189df1568e59b14b805783a62 (patch)
tree87637815141181c6222e27f676b0e36e55e94b0e /src
parentad4a06fca5d11b57705540818d3eb4e86bb6ac14 (diff)
downloadinvidious-ef8dc7272beed31189df1568e59b14b805783a62.tar.gz
invidious-ef8dc7272beed31189df1568e59b14b805783a62.tar.bz2
invidious-ef8dc7272beed31189df1568e59b14b805783a62.zip
Put CSV import function under its own module
Diffstat (limited to 'src')
-rw-r--r--src/invidious/user/imports.cr42
1 files changed, 24 insertions, 18 deletions
diff --git a/src/invidious/user/imports.cr b/src/invidious/user/imports.cr
index 2ae1dcb1..c8580038 100644
--- a/src/invidious/user/imports.cr
+++ b/src/invidious/user/imports.cr
@@ -1,27 +1,33 @@
require "csv"
-def parse_subscription_export_csv(csv_content : String)
- rows = CSV.new(csv_content, headers: true)
- subscriptions = Array(String).new
+struct Invidious::User
+ module Import
+ extend self
- # Counter to limit the amount of imports.
- # This is intended to prevent DoS.
- row_counter = 0
+ # Parse a youtube CSV subscription file
+ def parse_subscription_export_csv(csv_content : String)
+ rows = CSV.new(csv_content, headers: true)
+ subscriptions = Array(String).new
- rows.each do |row|
- # Limit to 1200
- row_counter += 1
- break if row_counter > 1_200
+ # Counter to limit the amount of imports.
+ # This is intended to prevent DoS.
+ row_counter = 0
- # Channel ID is the first column in the csv export we can't use the header
- # name, because the header name is localized depending on the
- # language the user has set on their account
- channel_id = row[0].strip
+ rows.each do |row|
+ # Limit to 1200
+ row_counter += 1
+ break if row_counter > 1_200
- next if channel_id.empty?
+ # Channel ID is the first column in the csv export we can't use the header
+ # name, because the header name is localized depending on the
+ # language the user has set on their account
+ channel_id = row[0].strip
- subscriptions << channel_id
- end
+ next if channel_id.empty?
+ subscriptions << channel_id
+ end
- return subscriptions
+ return subscriptions
+ end
+ end
end