Fix more 'Lint/ShadowingOuterLocalVar' warnings reported by ameba

This commit is contained in:
Samantaz Fox 2022-01-20 17:17:22 +01:00
parent 1c91110464
commit 12b818a83c
No known key found for this signature in database
GPG Key ID: F42821059186176E
10 changed files with 22 additions and 18 deletions

View File

@ -96,7 +96,7 @@ def get_about_info(ucid, locale) : AboutChannel
total_views = channel_about_meta["viewCountText"]?.try &.["simpleText"]?.try &.as_s.gsub(/\D/, "").to_i64? || 0_i64 total_views = channel_about_meta["viewCountText"]?.try &.["simpleText"]?.try &.as_s.gsub(/\D/, "").to_i64? || 0_i64
# The joined text is split to several sub strings. The reduce joins those strings before parsing the date. # The joined text is split to several sub strings. The reduce joins those strings before parsing the date.
joined = channel_about_meta["joinedDateText"]?.try &.["runs"]?.try &.as_a.reduce("") { |acc, node| acc + node["text"].as_s } joined = channel_about_meta["joinedDateText"]?.try &.["runs"]?.try &.as_a.reduce("") { |acc, nd| acc + nd["text"].as_s }
.try { |text| Time.parse(text, "Joined %b %-d, %Y", Time::Location.local) } || Time.unix(0) .try { |text| Time.parse(text, "Joined %b %-d, %Y", Time::Location.local) } || Time.unix(0)
# Normal Auto-generated channels # Normal Auto-generated channels
@ -136,7 +136,8 @@ def fetch_related_channels(about_channel : AboutChannel) : Array(AboutRelatedCha
channels = YoutubeAPI.browse(browse_id: about_channel.ucid, params: "EghjaGFubmVscw%3D%3D") channels = YoutubeAPI.browse(browse_id: about_channel.ucid, params: "EghjaGFubmVscw%3D%3D")
tabs = channels.dig?("contents", "twoColumnBrowseResultsRenderer", "tabs").try(&.as_a?) || [] of JSON::Any tabs = channels.dig?("contents", "twoColumnBrowseResultsRenderer", "tabs").try(&.as_a?) || [] of JSON::Any
tab = tabs.find { |tab| tab.dig?("tabRenderer", "title").try(&.as_s?) == "Channels" } tab = tabs.find(&.dig?("tabRenderer", "title").try(&.as_s?).try(&.== "Channels"))
return [] of AboutRelatedChannel if tab.nil? return [] of AboutRelatedChannel if tab.nil?
items = tab.dig?("tabRenderer", "content", "sectionListRenderer", "contents", 0, "itemSectionRenderer", "contents", 0, "gridRenderer", "items").try(&.as_a?) || [] of JSON::Any items = tab.dig?("tabRenderer", "content", "sectionListRenderer", "contents", 0, "itemSectionRenderer", "contents", 0, "gridRenderer", "items").try(&.as_a?) || [] of JSON::Any

View File

@ -94,8 +94,8 @@ def translate(locale : String?, key : String, text : String | Nil = nil) : Strin
translation = "" translation = ""
match_length = 0 match_length = 0
raw_data.as_h.each do |key, value| raw_data.as_h.each do |hash_key, value|
if md = text.try &.match(/#{key}/) if md = text.try &.match(/#{hash_key}/)
if md[0].size >= match_length if md[0].size >= match_length
translation = value.as_s translation = value.as_s
match_length = md[0].size match_length = md[0].size

View File

@ -98,9 +98,9 @@ module JSONFilter
end end
end end
group_name.split('/').each do |group_name| group_name.split('/').each do |name|
nest_stack.push({ nest_stack.push({
group_name: group_name, group_name: name,
closing_bracket_index: closing_bracket_index, closing_bracket_index: closing_bracket_index,
}) })
end end

View File

@ -175,9 +175,9 @@ module Kemal
if @cached_files.sum(&.[1][:data].bytesize) + (size = File.size(file_path)) < CACHE_LIMIT if @cached_files.sum(&.[1][:data].bytesize) + (size = File.size(file_path)) < CACHE_LIMIT
data = Bytes.new(size) data = Bytes.new(size)
File.open(file_path) do |file|
file.read(data) File.open(file_path) { |f| f.read(data) }
end
filestat = File.info(file_path) filestat = File.info(file_path)
@cached_files[file_path] = {data: data, filestat: filestat} @cached_files[file_path] = {data: data, filestat: filestat}

View File

@ -42,6 +42,9 @@ end
def sign_token(key, hash) def sign_token(key, hash)
string_to_sign = [] of String string_to_sign = [] of String
# TODO: figure out which "key" variable is used
# Ameba reports a warning for "Lint/ShadowingOuterLocalVar" on this
# variable, but its preferrable to not touch that (works fine atm).
hash.each do |key, value| hash.each do |key, value|
next if key == "signature" next if key == "signature"

View File

@ -292,8 +292,8 @@ def parse_range(range)
end end
ranges = range.lchop("bytes=").split(',') ranges = range.lchop("bytes=").split(',')
ranges.each do |range| ranges.each do |r|
start_range, end_range = range.split('-') start_range, end_range = r.split('-')
start_range = start_range.to_i64? || 0_i64 start_range = start_range.to_i64? || 0_i64
end_range = end_range.to_i64? end_range = end_range.to_i64?

View File

@ -202,8 +202,8 @@ struct InvidiousPlaylist
end end
videos = get_playlist_videos(self, offset: offset, video_id: video_id) videos = get_playlist_videos(self, offset: offset, video_id: video_id)
videos.each_with_index do |video, index| videos.each_with_index do |video, idx|
video.to_json(json, offset + index) video.to_json(json, offset + idx)
end end
end end
end end

View File

@ -98,7 +98,7 @@ module Invidious::Routes::API::Manifest
height = fmt["height"].as_i height = fmt["height"].as_i
# Resolutions reported by YouTube player (may not accurately reflect source) # Resolutions reported by YouTube player (may not accurately reflect source)
height = potential_heights.min_by { |i| (height - i).abs } height = potential_heights.min_by { |x| (height - x).abs }
next if unique_res && heights.includes? height next if unique_res && heights.includes? height
heights << height heights << height

View File

@ -425,9 +425,9 @@ module Invidious::Routes::Login
found_valid_captcha = false found_valid_captcha = false
error_exception = Exception.new error_exception = Exception.new
tokens.each do |token| tokens.each do |tok|
begin begin
validate_request(token, answer, env.request, HMAC_KEY, locale) validate_request(tok, answer, env.request, HMAC_KEY, locale)
found_valid_captcha = true found_valid_captcha = true
rescue ex rescue ex
error_exception = ex error_exception = ex

View File

@ -661,8 +661,8 @@ struct Video
url = URI.parse(storyboards.shift) url = URI.parse(storyboards.shift)
params = HTTP::Params.parse(url.query || "") params = HTTP::Params.parse(url.query || "")
storyboards.each_with_index do |storyboard, i| storyboards.each_with_index do |sb, i|
width, height, count, storyboard_width, storyboard_height, interval, _, sigh = storyboard.split("#") width, height, count, storyboard_width, storyboard_height, interval, _, sigh = sb.split("#")
params["sigh"] = sigh params["sigh"] = sigh
url.query = params.to_s url.query = params.to_s