mirror of
https://github.com/ankitects/anki.git
synced 2025-12-16 00:00:59 -05:00
use wrapper struct
This commit is contained in:
parent
aca5b8e32a
commit
a929a133d6
3 changed files with 8 additions and 6 deletions
|
|
@ -17,6 +17,7 @@ use crate::import_export::package::media::SafeMediaEntry;
|
||||||
use crate::import_export::ImportProgress;
|
use crate::import_export::ImportProgress;
|
||||||
use crate::media::files::add_hash_suffix_to_file_stem;
|
use crate::media::files::add_hash_suffix_to_file_stem;
|
||||||
use crate::media::files::sha1_of_reader;
|
use crate::media::files::sha1_of_reader;
|
||||||
|
use crate::media::Checksums;
|
||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
use crate::progress::ThrottlingProgressHandler;
|
use crate::progress::ThrottlingProgressHandler;
|
||||||
|
|
||||||
|
|
@ -75,7 +76,7 @@ impl Context<'_> {
|
||||||
fn prepare_media(
|
fn prepare_media(
|
||||||
media_entries: Vec<SafeMediaEntry>,
|
media_entries: Vec<SafeMediaEntry>,
|
||||||
archive: &mut ZipArchive<File>,
|
archive: &mut ZipArchive<File>,
|
||||||
existing_sha1s: &HashMap<String, Sha1Hash>,
|
existing_sha1s: &Checksums,
|
||||||
progress: &mut ThrottlingProgressHandler<ImportProgress>,
|
progress: &mut ThrottlingProgressHandler<ImportProgress>,
|
||||||
) -> Result<MediaUseMap> {
|
) -> Result<MediaUseMap> {
|
||||||
let mut media_map = MediaUseMap::default();
|
let mut media_map = MediaUseMap::default();
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ pub mod files;
|
||||||
mod service;
|
mod service;
|
||||||
|
|
||||||
use std::borrow::Cow;
|
use std::borrow::Cow;
|
||||||
use std::collections::HashMap;
|
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
|
|
@ -22,6 +21,7 @@ use crate::progress::ThrottlingProgressHandler;
|
||||||
use crate::sync::http_client::HttpSyncClient;
|
use crate::sync::http_client::HttpSyncClient;
|
||||||
use crate::sync::login::SyncAuth;
|
use crate::sync::login::SyncAuth;
|
||||||
use crate::sync::media::database::client::changetracker::ChangeTracker;
|
use crate::sync::media::database::client::changetracker::ChangeTracker;
|
||||||
|
pub use crate::sync::media::database::client::Checksums;
|
||||||
use crate::sync::media::database::client::MediaDatabase;
|
use crate::sync::media::database::client::MediaDatabase;
|
||||||
use crate::sync::media::database::client::MediaEntry;
|
use crate::sync::media::database::client::MediaEntry;
|
||||||
use crate::sync::media::progress::MediaSyncProgress;
|
use crate::sync::media::progress::MediaSyncProgress;
|
||||||
|
|
@ -157,7 +157,7 @@ impl MediaManager {
|
||||||
pub fn all_checksums_after_checking(
|
pub fn all_checksums_after_checking(
|
||||||
&self,
|
&self,
|
||||||
progress: impl FnMut(usize) -> bool,
|
progress: impl FnMut(usize) -> bool,
|
||||||
) -> Result<HashMap<String, Sha1Hash>> {
|
) -> Result<Checksums> {
|
||||||
ChangeTracker::new(&self.media_folder, progress).register_changes(&self.db)?;
|
ChangeTracker::new(&self.media_folder, progress).register_changes(&self.db)?;
|
||||||
self.db.all_registered_checksums()
|
self.db.all_registered_checksums()
|
||||||
}
|
}
|
||||||
|
|
@ -176,7 +176,7 @@ impl MediaManager {
|
||||||
|
|
||||||
/// All checksums without registering changes first.
|
/// All checksums without registering changes first.
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
pub(crate) fn all_checksums_as_is(&self) -> HashMap<String, [u8; 20]> {
|
pub(crate) fn all_checksums_as_is(&self) -> Checksums {
|
||||||
self.db.all_registered_checksums().unwrap()
|
self.db.all_registered_checksums().unwrap()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -189,11 +189,12 @@ delete from media where fname=?",
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns all filenames and checksums, where the checksum is not null.
|
/// Returns all filenames and checksums, where the checksum is not null.
|
||||||
pub(crate) fn all_registered_checksums(&self) -> error::Result<HashMap<String, Sha1Hash>> {
|
pub(crate) fn all_registered_checksums(&self) -> error::Result<Checksums> {
|
||||||
self.db
|
self.db
|
||||||
.prepare("SELECT fname, csum FROM media WHERE csum IS NOT NULL")?
|
.prepare("SELECT fname, csum FROM media WHERE csum IS NOT NULL")?
|
||||||
.query_and_then([], row_to_name_and_checksum)?
|
.query_and_then([], row_to_name_and_checksum)?
|
||||||
.collect()
|
.collect::<error::Result<_>>()
|
||||||
|
.map(Checksums)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn force_resync(&self) -> error::Result<()> {
|
pub(crate) fn force_resync(&self) -> error::Result<()> {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue