prevent simultaneous imap conn

This commit is contained in:
Clément DOUIN
2021-04-04 00:17:27 +02:00
parent 2850ae01fd
commit 9f7173a572
4 changed files with 36 additions and 23 deletions
+6 -1
View File
@@ -50,26 +50,31 @@ pub fn flag_matches(matches: &ArgMatches) -> Result<bool> {
let config = Config::new_from_file()?;
let account = config.find_account_by_name(matches.value_of("account"))?;
let mbox = matches.value_of("mailbox").unwrap();
let mut imap_conn = ImapConnector::new(&account)?;
if let Some(matches) = matches.subcommand_matches("set") {
let mut imap_conn = ImapConnector::new(&account)?;
let uid = matches.value_of("uid").unwrap();
let flags = matches.value_of("flags").unwrap();
imap_conn.set_flags(mbox, uid, flags)?;
imap_conn.logout();
return Ok(true);
}
if let Some(matches) = matches.subcommand_matches("add") {
let mut imap_conn = ImapConnector::new(&account)?;
let uid = matches.value_of("uid").unwrap();
let flags = matches.value_of("flags").unwrap();
imap_conn.add_flags(mbox, uid, flags)?;
imap_conn.logout();
return Ok(true);
}
if let Some(matches) = matches.subcommand_matches("remove") {
let mut imap_conn = ImapConnector::new(&account)?;
let uid = matches.value_of("uid").unwrap();
let flags = matches.value_of("flags").unwrap();
imap_conn.remove_flags(mbox, uid, flags)?;
imap_conn.logout();
return Ok(true);
}