class Dependabot::Uv::Package::PackageRegistryFinder

def pyproject_index_urls

def pyproject_index_urls
  urls = { main: nil, extra: [] }
  return urls unless pyproject
  sources =
    TomlRB.parse(pyproject.content).dig("tool", "poetry", "source") ||
    []
  sources.each do |source|
    # If source is PyPI, skip it, and let it pick the default URI
    next if source["name"].casecmp?("PyPI")
    if @dependency.all_sources.include?(source["name"])
      # If dependency has specified this source, use it
      return { main: source["url"], extra: [] }
    elsif source["default"]
      urls[:main] = source["url"]
    elsif source["priority"] != "explicit"
      # if source is not explicit, add it to extra
      urls[:extra] << source["url"]
    end
  end
  urls[:extra] = urls[:extra].uniq
  urls
rescue TomlRB::ParseError, TomlRB::ValueOverwriteError
  urls
end