diff options
| author | Samantaz Fox <coding@samantaz.fr> | 2022-02-04 05:19:22 +0100 |
|---|---|---|
| committer | Samantaz Fox <coding@samantaz.fr> | 2022-02-07 17:15:22 +0100 |
| commit | ef8dc7272beed31189df1568e59b14b805783a62 (patch) | |
| tree | 87637815141181c6222e27f676b0e36e55e94b0e /src | |
| parent | ad4a06fca5d11b57705540818d3eb4e86bb6ac14 (diff) | |
| download | invidious-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.cr | 42 |
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 |
