From 01dc304d026c27a7deae74fd4704287f5f175016 Mon Sep 17 00:00:00 2001 From: Kamil Bukum Date: Fri, 28 Feb 2025 14:56:52 -0800 Subject: [PATCH] fix typings --- .../lib/dependabot/python/metadata_finder.rb | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/python/lib/dependabot/python/metadata_finder.rb b/python/lib/dependabot/python/metadata_finder.rb index bbf04bce9d..a17f54397a 100644 --- a/python/lib/dependabot/python/metadata_finder.rb +++ b/python/lib/dependabot/python/metadata_finder.rb @@ -16,6 +16,18 @@ class MetadataFinder < Dependabot::MetadataFinders::Base extend T::Sig MAIN_PYPI_URL = "https://pypi.org/pypi" + sig do + params( + dependency: Dependabot::Dependency, + credentials: T::Array[Dependabot::Credential] + ) + .void + end + def initialize(dependency:, credentials:) + super + @pypi_listing = T.let(nil, T.nilable(T::Hash[String, T.untyped])) + end + sig { returns(T.nilable(String)) } def homepage_url pypi_listing.dig("info", "home_page") || @@ -85,10 +97,11 @@ def source_from_description # rubocop:disable Metrics/PerceivedComplexity sig { returns(T.nilable(String)) } def source_from_homepage - return unless homepage_body + homepage_body_local = homepage_body + return unless homepage_body_local potential_source_urls = [] - T.must(homepage_body).scan(Source::SOURCE_REGEX) do + homepage_body_local.scan(Source::SOURCE_REGEX) do potential_source_urls << Regexp.last_match.to_s end @@ -146,8 +159,8 @@ def pypi_listing response = fetch_authed_url(url) next unless response.status == 200 - @pypi_listing = T.let(JSON.parse(response.body), T.nilable(T::Hash[String, T.untyped])) - return T.must(@pypi_listing) + @pypi_listing = JSON.parse(response.body) + return @pypi_listing rescue JSON::ParserError next rescue Excon::Error::Timeout