Fix for the ArithmeticOverflow Problem
This commit is contained in:
parent
865704dc7b
commit
85dd3533bb
|
@ -162,7 +162,7 @@ def number_with_separator(number)
|
||||||
end
|
end
|
||||||
|
|
||||||
def short_text_to_number(short_text : String) : Int64
|
def short_text_to_number(short_text : String) : Int64
|
||||||
matches = /(?<number>\d+(\.\d+)?)\s?(?<suffix>[mMkKbB])?/.match(short_text)
|
matches = /(?<number>\d+(\.\d+)?)\s?(?<suffix>[mMkKbB]|())?/.match(short_text)
|
||||||
number = matches.try &.["number"].to_f || 0.0
|
number = matches.try &.["number"].to_f || 0.0
|
||||||
|
|
||||||
case matches.try &.["suffix"].downcase
|
case matches.try &.["suffix"].downcase
|
||||||
|
|
|
@ -169,7 +169,12 @@ private module Parsers
|
||||||
# When public subscriber count is disabled, the subscriberCountText isn't sent by InnerTube.
|
# When public subscriber count is disabled, the subscriberCountText isn't sent by InnerTube.
|
||||||
# Always simpleText
|
# Always simpleText
|
||||||
# TODO change default value to nil
|
# TODO change default value to nil
|
||||||
|
|
||||||
subscriber_count = item_contents.dig?("subscriberCountText", "simpleText")
|
subscriber_count = item_contents.dig?("subscriberCountText", "simpleText")
|
||||||
|
if !subscriber_count || !subscriber_count.as_s.includes? " subscriber"
|
||||||
|
subscriber_count = item_contents.dig?("videoCountText", "simpleText")
|
||||||
|
end
|
||||||
|
subscriber_count = subscriber_count
|
||||||
.try { |s| short_text_to_number(s.as_s.split(" ")[0]).to_i32 } || 0
|
.try { |s| short_text_to_number(s.as_s.split(" ")[0]).to_i32 } || 0
|
||||||
|
|
||||||
# Auto-generated channels doesn't have videoCountText
|
# Auto-generated channels doesn't have videoCountText
|
||||||
|
|
Loading…
Reference in a new issue