diff --git a/rslib/src/media/changetracker.rs b/rslib/src/media/changetracker.rs index d931c4563..6b61b0b67 100644 --- a/rslib/src/media/changetracker.rs +++ b/rslib/src/media/changetracker.rs @@ -151,7 +151,10 @@ where } // add entry to the list - let sha1 = Some(sha1_of_file(&dentry.path())?); + let data = sha1_of_file(&dentry.path()).map_err(|e| AnkiError::IOError { + info: format!("unable to read {}: {}", fname, e), + })?; + let sha1 = Some(data); added_or_changed.push(FilesystemEntry { fname: fname.to_string(), sha1, diff --git a/rslib/src/media/files.rs b/rslib/src/media/files.rs index 791f0ad5e..3949b9a0b 100644 --- a/rslib/src/media/files.rs +++ b/rslib/src/media/files.rs @@ -1,7 +1,7 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -use crate::err::Result; +use crate::err::{AnkiError, Result}; use crate::log::{debug, Logger}; use lazy_static::lazy_static; use regex::Regex; @@ -402,7 +402,9 @@ pub(super) fn data_for_file(media_folder: &Path, fname: &str) -> Result