mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
Take count_map for IncrementableProgress::get_inner
This commit is contained in:
parent
400fc3b0f6
commit
e6225210fc
3 changed files with 9 additions and 12 deletions
|
@ -77,13 +77,11 @@ impl<P> IncrementableProgress<P> {
|
|||
}
|
||||
|
||||
/// Stopgap for returning a progress fn compliant with the media code.
|
||||
pub(crate) fn get_inner(&mut self) -> Result<impl FnMut(usize) -> bool + '_> {
|
||||
let count_map = self
|
||||
.count_map
|
||||
.as_mut()
|
||||
.ok_or_else(|| AnkiError::invalid_input("count_map not set"))?;
|
||||
let progress_fn = &mut self.progress_fn;
|
||||
Ok(move |count| progress_fn(count_map(count), true))
|
||||
pub(crate) fn media_db_fn(
|
||||
&mut self,
|
||||
count_map: impl 'static + Fn(usize) -> P,
|
||||
) -> Result<impl FnMut(usize) -> bool + '_> {
|
||||
Ok(move |count| (self.progress_fn)(count_map(count), true))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -34,10 +34,8 @@ pub(super) struct MediaUseMap {
|
|||
|
||||
impl Context<'_> {
|
||||
pub(super) fn prepare_media(&mut self) -> Result<MediaUseMap> {
|
||||
self.progress.set_count_map(ImportProgress::MediaCheck);
|
||||
let existing_sha1s = self
|
||||
.target_col
|
||||
.all_existing_sha1s(self.progress.get_inner()?)?;
|
||||
let db_progress_fn = self.progress.media_db_fn(ImportProgress::MediaCheck)?;
|
||||
let existing_sha1s = self.target_col.all_existing_sha1s(db_progress_fn)?;
|
||||
prepare_media(
|
||||
&self.meta,
|
||||
&mut self.archive,
|
||||
|
|
|
@ -166,7 +166,8 @@ impl<'a> MediaComparer<'a> {
|
|||
Ok(Self(if meta.media_list_is_hashmap() {
|
||||
None
|
||||
} else {
|
||||
media_manager.register_changes(&mut progress.get_inner()?, log)?;
|
||||
let mut db_progress_fn = progress.media_db_fn(ImportProgress::MediaCheck)?;
|
||||
media_manager.register_changes(&mut db_progress_fn, log)?;
|
||||
Some(Box::new(media_manager.checksum_getter()))
|
||||
}))
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue