diff options
| author | DUOLabs333 <dvdugo333@gmail.com> | 2023-01-03 20:18:10 -0500 |
|---|---|---|
| committer | DUOLabs333 <dvdugo333@gmail.com> | 2023-01-03 20:18:10 -0500 |
| commit | 85dd3533bb4f9bc8e007d3b5de158f56db1445ce (patch) | |
| tree | ffc5027185782dfc6814a0aa0ad4f0413e77e71f | |
| parent | 865704dc7b0dee818b0f7636a085fcf1736635a7 (diff) | |
| download | invidious-85dd3533bb4f9bc8e007d3b5de158f56db1445ce.tar.gz invidious-85dd3533bb4f9bc8e007d3b5de158f56db1445ce.tar.bz2 invidious-85dd3533bb4f9bc8e007d3b5de158f56db1445ce.zip | |
Fix for the ArithmeticOverflow Problem
| -rw-r--r-- | src/invidious/helpers/utils.cr | 2 | ||||
| -rw-r--r-- | src/invidious/yt_backend/extractors.cr | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/invidious/helpers/utils.cr b/src/invidious/helpers/utils.cr index ed0cca38..59d8953a 100644 --- a/src/invidious/helpers/utils.cr +++ b/src/invidious/helpers/utils.cr @@ -162,7 +162,7 @@ def number_with_separator(number) end 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 case matches.try &.["suffix"].downcase diff --git a/src/invidious/yt_backend/extractors.cr b/src/invidious/yt_backend/extractors.cr index edc722cf..326d2d62 100644 --- a/src/invidious/yt_backend/extractors.cr +++ b/src/invidious/yt_backend/extractors.cr @@ -169,7 +169,12 @@ private module Parsers # When public subscriber count is disabled, the subscriberCountText isn't sent by InnerTube. # Always simpleText # TODO change default value to nil + 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 # Auto-generated channels doesn't have videoCountText |
