Files
nixpkgs/pkgs/applications/misc/pagefind/lindera-dictionary-support-file-paths.patch

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

42 lines
1.5 KiB
Diff
Raw Permalink Normal View History

2025-10-09 14:15:47 +02:00
diff --git a/src/assets.rs b/src/assets.rs
index 58afc4c..d5813e6 100644
--- a/src/assets.rs
+++ b/src/assets.rs
@@ -93,6 +93,28 @@ async fn download_with_retry(
for url in urls {
debug!("Attempting to download from {}", url);
+ if let Some(path) = url.strip_prefix("file://") {
+ let content = std::fs::read(path)?;
+
+ // Calculate MD5 hash
+ let mut context = Context::new();
+ context.consume(&content);
+ let actual_md5 = format!("{:x}", context.compute());
+ debug!("Expected MD5: {}", expected_md5);
+ debug!("Actual MD5: {}", actual_md5);
+
+ if actual_md5 == expected_md5 {
+ debug!("MD5 check passed from {}", url);
+ return Ok(content);
+ } else {
+ warn!(
+ "MD5 mismatch from {}! Expected {}, got {}",
+ url, expected_md5, actual_md5
+ );
+ // continue to next url
+ }
+ }
+ else {
match client.get(url).send().await {
Ok(resp) if resp.status().is_success() => {
debug!("HTTP download successful from {}", url);
@@ -127,6 +149,7 @@ async fn download_with_retry(
// continue to next url
}
}
+ }
}
sleep(Duration::from_secs(1)).await;