class Dependabot::Uv::Package::PackageDetailsFetcher

def version_details_from_link(link)

def version_details_from_link(link)
  return unless link
  doc = Nokogiri::XML(link)
  filename = doc.at_css("a")&.content
  url = doc.at_css("a")&.attributes&.fetch("href", nil)&.value
  return unless filename&.match?(name_regex) || url&.match?(name_regex)
  version = get_version_from_filename(filename)
  return unless version_class.correct?(version)
  {
    "version" => version,
    "requires_python" => requires_python_from_link(link),
    "yanked" => link.include?("data-yanked"),
    "url" => link
  }
end