From 1c25c76be6f46fe9d1a89dc962e1fe634d8b14fe Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Wed, 4 Sep 2024 16:44:04 -0400 Subject: [PATCH] Make invlaid core-metadata tag non-fatal (#7046) ## Summary One of the indexes we test against is using a non-compliant value (the actual URL). --- crates/uv-client/src/html.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/crates/uv-client/src/html.rs b/crates/uv-client/src/html.rs index 9ffcf650e..edb2d1c9c 100644 --- a/crates/uv-client/src/html.rs +++ b/crates/uv-client/src/html.rs @@ -1,7 +1,7 @@ use std::str::FromStr; use tl::HTMLTag; -use tracing::instrument; +use tracing::{instrument, warn}; use url::Url; use pep440_rs::VersionSpecifiers; @@ -136,7 +136,13 @@ impl SimpleHtml { match dist_info_metadata.as_ref() { "true" => Some(CoreMetadata::Bool(true)), "false" => Some(CoreMetadata::Bool(false)), - fragment => Some(CoreMetadata::Hashes(Hashes::parse_fragment(fragment)?)), + fragment => match Hashes::parse_fragment(fragment) { + Ok(hash) => Some(CoreMetadata::Hashes(hash)), + Err(err) => { + warn!("Failed to parse core metadata value `{fragment}`: {err}"); + None + } + }, } } else { None