mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
move sync_media() into MediaManager
This commit is contained in:
parent
fb8f753d2d
commit
4289f7a02a
3 changed files with 16 additions and 25 deletions
|
@ -6,7 +6,7 @@ use crate::backend_proto::backend_input::Value;
|
|||
use crate::backend_proto::{Empty, RenderedTemplateReplacement, SyncMediaIn};
|
||||
use crate::cloze::expand_clozes_to_reveal_latex;
|
||||
use crate::err::{AnkiError, NetworkErrorKind, Result, SyncErrorKind};
|
||||
use crate::media::sync::{MediaSyncer, Progress as MediaSyncProgress};
|
||||
use crate::media::sync::Progress as MediaSyncProgress;
|
||||
use crate::media::MediaManager;
|
||||
use crate::sched::{local_minutes_west_for_stamp, sched_timing_today};
|
||||
use crate::template::{
|
||||
|
@ -325,9 +325,7 @@ impl Backend {
|
|||
};
|
||||
|
||||
let mut rt = Runtime::new().unwrap();
|
||||
|
||||
let mut syncer = MediaSyncer::new(&mgr, callback, &input.endpoint);
|
||||
rt.block_on(syncer.sync(&input.hkey))
|
||||
rt.block_on(mgr.sync_media(callback, &input.endpoint, &input.hkey))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ use crate::media::files::{
|
|||
add_data_to_folder_uniquely, mtime_as_i64, sha1_of_data, sha1_of_file,
|
||||
MEDIA_SYNC_FILESIZE_LIMIT, NONSYNCABLE_FILENAME,
|
||||
};
|
||||
use crate::media::sync::{MediaSyncer, Progress};
|
||||
use rusqlite::Connection;
|
||||
use std::borrow::Cow;
|
||||
use std::collections::HashMap;
|
||||
|
@ -94,25 +95,18 @@ impl MediaManager {
|
|||
Ok(chosen_fname)
|
||||
}
|
||||
|
||||
/// Sync media.
|
||||
pub async fn sync_media<F>(&self, progress: F, endpoint: &str, hkey: &str) -> Result<()>
|
||||
where
|
||||
F: Fn(Progress) -> bool,
|
||||
{
|
||||
let mut syncer = MediaSyncer::new(self, progress, endpoint);
|
||||
syncer.sync(hkey).await
|
||||
}
|
||||
|
||||
fn dbctx(&self) -> MediaDatabaseContext {
|
||||
MediaDatabaseContext::new(&self.db)
|
||||
}
|
||||
|
||||
// db helpers
|
||||
|
||||
// pub(super) fn query<F, R>(&self, func: F) -> Result<R>
|
||||
// where
|
||||
// F: FnOnce(&mut MediaDatabaseContext) -> Result<R>,
|
||||
// {
|
||||
// MediaDatabaseContext::query(&self.db, func)
|
||||
// }
|
||||
|
||||
// pub(super) fn transact<F, R>(&self, func: F) -> Result<R>
|
||||
// where
|
||||
// F: FnOnce(&mut MediaDatabaseContext) -> Result<R>,
|
||||
// {
|
||||
// MediaDatabaseContext::transact(&self.db, func)
|
||||
// }
|
||||
}
|
||||
|
||||
fn register_changes(ctx: &mut MediaDatabaseContext, folder: &Path) -> Result<()> {
|
||||
|
|
|
@ -685,7 +685,7 @@ fn media_check_required() -> AnkiError {
|
|||
#[cfg(test)]
|
||||
mod test {
|
||||
use crate::err::Result;
|
||||
use crate::media::sync::{determine_required_change, LocalState, MediaSyncer, RequiredChange};
|
||||
use crate::media::sync::{determine_required_change, LocalState, RequiredChange};
|
||||
use crate::media::MediaManager;
|
||||
use tempfile::tempdir;
|
||||
use tokio::runtime::Runtime;
|
||||
|
@ -703,10 +703,9 @@ mod test {
|
|||
true
|
||||
};
|
||||
|
||||
let mut mgr = MediaManager::new(&media_dir, &media_db)?;
|
||||
|
||||
let mut syncer = MediaSyncer::new(&mut mgr, progress, "https://sync.ankiweb.net/msync/");
|
||||
syncer.sync(hkey).await?;
|
||||
let mgr = MediaManager::new(&media_dir, &media_db)?;
|
||||
mgr.sync_media(progress, "https://sync.ankiweb.net/msync/", hkey)
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue