summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>2024-07-10 09:26:31 -0400
committerChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>2024-11-17 13:12:56 -0500
commitbba1769f4b42e1d2688308d7778c766b8e90e92b (patch)
treeb456f383bd9457dd5dd09ef959eb874862f391de /src
parent6b0e4e6817afad721cb2b0d840e983cf0fdac1b6 (diff)
downloadinvidious-bba1769f4b42e1d2688308d7778c766b8e90e92b.tar.gz
invidious-bba1769f4b42e1d2688308d7778c766b8e90e92b.tar.bz2
invidious-bba1769f4b42e1d2688308d7778c766b8e90e92b.zip
Use a find instead of an each loop
Diffstat (limited to 'src')
-rw-r--r--src/invidious/user/imports.cr50
1 files changed, 24 insertions, 26 deletions
diff --git a/src/invidious/user/imports.cr b/src/invidious/user/imports.cr
index 163a8c74..007eb666 100644
--- a/src/invidious/user/imports.cr
+++ b/src/invidious/user/imports.cr
@@ -291,40 +291,38 @@ struct Invidious::User
def from_newpipe(user : User, body : String) : Bool
Compress::Zip::File.open(IO::Memory.new(body), true) do |file|
- file.entries.each do |entry|
- entry.open do |file_io|
- next if entry.filename != "newpipe.db"
+ entry = file.entries.find { |file_entry| file_entry.filename == "newpipe.db" }
+ return false if entry.nil?
+ entry.open do |file_io|
+ # Ensure max size of 4MB
+ io_sized = IO::Sized.new(file_io, 0x400000)
- # Ensure max size of 4MB
- io_sized = IO::Sized.new(file_io, 0x400000)
-
- begin
- temp = File.tempfile(".db") do |tempfile|
- begin
- File.write(tempfile.path, io_sized.gets_to_end)
- rescue
- return false
- end
+ begin
+ temp = File.tempfile(".db") do |tempfile|
+ begin
+ File.write(tempfile.path, io_sized.gets_to_end)
+ rescue
+ return false
+ end
- DB.open("sqlite3://" + tempfile.path) do |db|
- user.watched += db.query_all("SELECT url FROM streams", as: String)
- .map(&.lchop("https://www.youtube.com/watch?v="))
+ DB.open("sqlite3://" + tempfile.path) do |db|
+ user.watched += db.query_all("SELECT url FROM streams", as: String)
+ .map(&.lchop("https://www.youtube.com/watch?v="))
- user.watched.uniq!
- Invidious::Database::Users.update_watch_history(user)
+ user.watched.uniq!
+ Invidious::Database::Users.update_watch_history(user)
- user.subscriptions += db.query_all("SELECT url FROM subscriptions", as: String)
- .map(&.lchop("https://www.youtube.com/channel/"))
+ user.subscriptions += db.query_all("SELECT url FROM subscriptions", as: String)
+ .map(&.lchop("https://www.youtube.com/channel/"))
- user.subscriptions.uniq!
- user.subscriptions = get_batch_channels(user.subscriptions)
+ user.subscriptions.uniq!
+ user.subscriptions = get_batch_channels(user.subscriptions)
- Invidious::Database::Users.update_subscriptions(user)
- end
+ Invidious::Database::Users.update_subscriptions(user)
end
- ensure
- temp.delete if !temp.nil?
end
+ ensure
+ temp.delete if !temp.nil?
end
end
end