summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2020-03-24 23:06:57 +0100
committerMatthias Beyer <mail@beyermatthias.de>2020-06-01 14:00:20 +0200
commit160c1a86ad111ad679332d6a29cf823b6b1ebaf3 (patch)
tree378fc6cce2386854ffeea848fefc1c59a0cd816b
parent884521221c741f99602fd565b99a7717d7c123f5 (diff)
Make use of the new `quick` parameter in the libimagmail interface
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--bin/domain/imag-mail/src/import.rs3
-rw-r--r--bin/domain/imag-mail/src/ui.rs7
2 files changed, 9 insertions, 1 deletions
diff --git a/bin/domain/imag-mail/src/import.rs b/bin/domain/imag-mail/src/import.rs
index 60f0274a..75ce3606 100644
--- a/bin/domain/imag-mail/src/import.rs
+++ b/bin/domain/imag-mail/src/import.rs
@@ -35,6 +35,7 @@ pub fn import(rt: &Runtime) -> Result<()> {
.ok_or_else(|| err_msg("Configuration for \"mail\" missing"))?;
let scmd = rt.cli().subcommand_matches("import").unwrap();
let query = scmd.value_of("query").unwrap();
+ let quick = scmd.is_present("quick");
let store = rt.store();
let notmuch_path = config.get_notmuch_database_path(rt);
let notmuch_connection = NotmuchConnection::open(notmuch_path)?;
@@ -48,7 +49,7 @@ pub fn import(rt: &Runtime) -> Result<()> {
let r = store
.with_connection(&notmuch_connection)
- .import_with_query(query, config.get_import_tag().map(String::clone), import_nm_tags)?
+ .import_with_query(query, config.get_import_tag().map(String::clone), import_nm_tags, quick)?
.into_iter()
.map(|fle| rt.report_touched(fle.get_location()))
.collect::<Result<Vec<_>>>()
diff --git a/bin/domain/imag-mail/src/ui.rs b/bin/domain/imag-mail/src/ui.rs
index 3a928d87..fd09e165 100644
--- a/bin/domain/imag-mail/src/ui.rs
+++ b/bin/domain/imag-mail/src/ui.rs
@@ -45,6 +45,13 @@ pub fn build_ui<'a>(app: App<'a, 'a>) -> App<'a, 'a> {
.required(true)
.value_name("QUERY")
.help("Imports mails from notmuch to imag, using a query to fetch mails to import"))
+
+ .arg(Arg::with_name("quick")
+ .long("quick")
+ .short("q")
+ .takes_value(false)
+ .required(false)
+ .help("Just detect new mail (by message id), do not rescan everything the query returns (might result in unsynchronized tags, but is faster)"))
)
.subcommand(SubCommand::with_name("list")