mirror of
https://github.com/ankitects/anki.git
synced 2025-09-25 01:06:35 -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.
|
/// Stopgap for returning a progress fn compliant with the media code.
|
||||||
pub(crate) fn get_inner(&mut self) -> Result<impl FnMut(usize) -> bool + '_> {
|
pub(crate) fn media_db_fn(
|
||||||
let count_map = self
|
&mut self,
|
||||||
.count_map
|
count_map: impl 'static + Fn(usize) -> P,
|
||||||
.as_mut()
|
) -> Result<impl FnMut(usize) -> bool + '_> {
|
||||||
.ok_or_else(|| AnkiError::invalid_input("count_map not set"))?;
|
Ok(move |count| (self.progress_fn)(count_map(count), true))
|
||||||
let progress_fn = &mut self.progress_fn;
|
|
||||||
Ok(move |count| progress_fn(count_map(count), true))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,10 +34,8 @@ pub(super) struct MediaUseMap {
|
||||||
|
|
||||||
impl Context<'_> {
|
impl Context<'_> {
|
||||||
pub(super) fn prepare_media(&mut self) -> Result<MediaUseMap> {
|
pub(super) fn prepare_media(&mut self) -> Result<MediaUseMap> {
|
||||||
self.progress.set_count_map(ImportProgress::MediaCheck);
|
let db_progress_fn = self.progress.media_db_fn(ImportProgress::MediaCheck)?;
|
||||||
let existing_sha1s = self
|
let existing_sha1s = self.target_col.all_existing_sha1s(db_progress_fn)?;
|
||||||
.target_col
|
|
||||||
.all_existing_sha1s(self.progress.get_inner()?)?;
|
|
||||||
prepare_media(
|
prepare_media(
|
||||||
&self.meta,
|
&self.meta,
|
||||||
&mut self.archive,
|
&mut self.archive,
|
||||||
|
|
|
@ -166,7 +166,8 @@ impl<'a> MediaComparer<'a> {
|
||||||
Ok(Self(if meta.media_list_is_hashmap() {
|
Ok(Self(if meta.media_list_is_hashmap() {
|
||||||
None
|
None
|
||||||
} else {
|
} 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()))
|
Some(Box::new(media_manager.checksum_getter()))
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue