Depend on anyhow directly

This removes the proxy via crate::error to depend on anyhow directly.
There is no benefit to this indirection and this makes it simpler to
see which error types are used.
This commit is contained in:
Floris Bruynooghe
2021-01-24 15:10:38 +01:00
committed by link2xt
parent 7b5a3a8346
commit 355e0145c0
28 changed files with 40 additions and 48 deletions

View File

@@ -2,7 +2,7 @@ extern crate dirs;
use std::str::FromStr; use std::str::FromStr;
use anyhow::{bail, ensure}; use anyhow::{bail, ensure, Error};
use async_std::path::Path; use async_std::path::Path;
use deltachat::chat::{self, Chat, ChatId, ChatItem, ChatVisibility, ProtectionStatus}; use deltachat::chat::{self, Chat, ChatId, ChatItem, ChatVisibility, ProtectionStatus};
use deltachat::chatlist::*; use deltachat::chatlist::*;
@@ -11,7 +11,6 @@ use deltachat::contact::*;
use deltachat::context::*; use deltachat::context::*;
use deltachat::dc_receive_imf::*; use deltachat::dc_receive_imf::*;
use deltachat::dc_tools::*; use deltachat::dc_tools::*;
use deltachat::error::Error;
use deltachat::imex::*; use deltachat::imex::*;
use deltachat::location; use deltachat::location;
use deltachat::lot::LotState; use deltachat::lot::LotState;

View File

@@ -6,11 +6,10 @@ use async_std::prelude::*;
use async_std::sync::{Arc, RwLock}; use async_std::sync::{Arc, RwLock};
use uuid::Uuid; use uuid::Uuid;
use anyhow::{ensure, Context as _}; use anyhow::{ensure, Context as _, Result};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::context::Context; use crate::context::Context;
use crate::error::Result;
use crate::events::Event; use crate::events::Event;
/// Account manager, that can handle multiple accounts in a single place. /// Account manager, that can handle multiple accounts in a single place.

View File

@@ -7,6 +7,7 @@ use async_std::path::{Path, PathBuf};
use async_std::prelude::*; use async_std::prelude::*;
use async_std::{fs, io}; use async_std::{fs, io};
use anyhow::Error;
use image::GenericImageView; use image::GenericImageView;
use num_traits::FromPrimitive; use num_traits::FromPrimitive;
use thiserror::Error; use thiserror::Error;
@@ -17,7 +18,6 @@ use crate::constants::{
WORSE_IMAGE_SIZE, WORSE_IMAGE_SIZE,
}; };
use crate::context::Context; use crate::context::Context;
use crate::error::Error;
use crate::events::EventType; use crate::events::EventType;
use crate::message; use crate::message;

View File

@@ -6,6 +6,7 @@ use std::str::FromStr;
use std::time::{Duration, SystemTime}; use std::time::{Duration, SystemTime};
use anyhow::Context as _; use anyhow::Context as _;
use anyhow::{bail, ensure, format_err, Error};
use async_std::path::{Path, PathBuf}; use async_std::path::{Path, PathBuf};
use itertools::Itertools; use itertools::Itertools;
use num_traits::FromPrimitive; use num_traits::FromPrimitive;
@@ -28,7 +29,6 @@ use crate::dc_tools::{
improve_single_line_input, time, IsNoneOrEmpty, improve_single_line_input, time, IsNoneOrEmpty,
}; };
use crate::ephemeral::{delete_expired_messages, schedule_ephemeral_task, Timer as EphemeralTimer}; use crate::ephemeral::{delete_expired_messages, schedule_ephemeral_task, Timer as EphemeralTimer};
use crate::error::{bail, ensure, format_err, Error};
use crate::events::EventType; use crate::events::EventType;
use crate::job::{self, Action}; use crate::job::{self, Action};
use crate::message::{self, InvalidMsgId, Message, MessageState, MsgId}; use crate::message::{self, InvalidMsgId, Message, MessageState, MsgId};

View File

@@ -1,5 +1,7 @@
//! # Chat list module //! # Chat list module
use anyhow::{bail, ensure, Result};
use crate::chat; use crate::chat;
use crate::chat::{update_special_chat_names, Chat, ChatId, ChatVisibility}; use crate::chat::{update_special_chat_names, Chat, ChatId, ChatVisibility};
use crate::constants::{ use crate::constants::{
@@ -10,7 +12,6 @@ use crate::constants::{
use crate::contact::Contact; use crate::contact::Contact;
use crate::context::Context; use crate::context::Context;
use crate::ephemeral::delete_expired_messages; use crate::ephemeral::delete_expired_messages;
use crate::error::{bail, ensure, Result};
use crate::lot::Lot; use crate::lot::Lot;
use crate::message::{Message, MessageState, MsgId}; use crate::message::{Message, MessageState, MsgId};
use crate::stock::StockMessage; use crate::stock::StockMessage;

View File

@@ -1,5 +1,6 @@
//! Contacts module //! Contacts module
use anyhow::{bail, ensure, format_err, Result};
use async_std::path::PathBuf; use async_std::path::PathBuf;
use deltachat_derive::{FromSql, ToSql}; use deltachat_derive::{FromSql, ToSql};
use itertools::Itertools; use itertools::Itertools;
@@ -17,7 +18,6 @@ use crate::context::Context;
use crate::dc_tools::{ use crate::dc_tools::{
dc_get_abs_path, dc_str_to_color, improve_single_line_input, listflags_has, EmailAddress, dc_get_abs_path, dc_str_to_color, improve_single_line_input, listflags_has, EmailAddress,
}; };
use crate::error::{bail, ensure, format_err, Result};
use crate::events::EventType; use crate::events::EventType;
use crate::key::{DcKey, SignedPublicKey}; use crate::key::{DcKey, SignedPublicKey};
use crate::login_param::LoginParam; use crate::login_param::LoginParam;

View File

@@ -7,6 +7,7 @@ use std::{
time::Instant, time::Instant,
}; };
use anyhow::{bail, ensure, Result};
use async_std::path::{Path, PathBuf}; use async_std::path::{Path, PathBuf};
use async_std::sync::{channel, Arc, Mutex, Receiver, RwLock, Sender}; use async_std::sync::{channel, Arc, Mutex, Receiver, RwLock, Sender};
use async_std::task; use async_std::task;
@@ -16,7 +17,6 @@ use crate::config::Config;
use crate::constants::DC_VERSION_STR; use crate::constants::DC_VERSION_STR;
use crate::contact::Contact; use crate::contact::Contact;
use crate::dc_tools::duration_to_str; use crate::dc_tools::duration_to_str;
use crate::error::{bail, ensure, Result};
use crate::events::{Event, EventEmitter, EventType, Events}; use crate::events::{Event, EventEmitter, EventType, Events};
use crate::key::{DcKey, SignedPublicKey}; use crate::key::{DcKey, SignedPublicKey};
use crate::login_param::LoginParam; use crate::login_param::LoginParam;

View File

@@ -1,9 +1,9 @@
use anyhow::{bail, ensure, format_err, Result};
use itertools::join; use itertools::join;
use mailparse::SingleInfo;
use num_traits::FromPrimitive; use num_traits::FromPrimitive;
use sha2::{Digest, Sha256}; use sha2::{Digest, Sha256};
use mailparse::SingleInfo;
use crate::chat::{self, Chat, ChatId, ProtectionStatus}; use crate::chat::{self, Chat, ChatId, ProtectionStatus};
use crate::config::Config; use crate::config::Config;
use crate::constants::{ use crate::constants::{
@@ -14,7 +14,6 @@ use crate::contact::{addr_cmp, normalize_name, Contact, Origin, VerifiedStatus};
use crate::context::Context; use crate::context::Context;
use crate::dc_tools::{dc_create_smeared_timestamp, dc_smeared_time, time}; use crate::dc_tools::{dc_create_smeared_timestamp, dc_smeared_time, time};
use crate::ephemeral::{stock_ephemeral_timer_changed, Timer as EphemeralTimer}; use crate::ephemeral::{stock_ephemeral_timer_changed, Timer as EphemeralTimer};
use crate::error::{bail, ensure, format_err, Result};
use crate::events::EventType; use crate::events::EventType;
use crate::headerdef::{HeaderDef, HeaderDefMap}; use crate::headerdef::{HeaderDef, HeaderDefMap};
use crate::job::{self, Action}; use crate::job::{self, Action};

View File

@@ -12,13 +12,13 @@ use async_std::path::{Path, PathBuf};
use async_std::prelude::*; use async_std::prelude::*;
use async_std::{fs, io}; use async_std::{fs, io};
use anyhow::{bail, Error};
use chrono::{Local, TimeZone}; use chrono::{Local, TimeZone};
use rand::{thread_rng, Rng}; use rand::{thread_rng, Rng};
use crate::chat::{add_device_msg, add_device_msg_with_importance}; use crate::chat::{add_device_msg, add_device_msg_with_importance};
use crate::constants::{Viewtype, DC_OUTDATED_WARNING_DAYS}; use crate::constants::{Viewtype, DC_OUTDATED_WARNING_DAYS};
use crate::context::Context; use crate::context::Context;
use crate::error::{bail, Error};
use crate::events::EventType; use crate::events::EventType;
use crate::message::Message; use crate::message::Message;
use crate::provider::get_provider_update_timestamp; use crate::provider::get_provider_update_timestamp;

View File

@@ -2,13 +2,13 @@
use std::collections::HashSet; use std::collections::HashSet;
use anyhow::{bail, ensure, format_err, Result};
use mailparse::ParsedMail; use mailparse::ParsedMail;
use num_traits::FromPrimitive; use num_traits::FromPrimitive;
use crate::aheader::{Aheader, EncryptPreference}; use crate::aheader::{Aheader, EncryptPreference};
use crate::config::Config; use crate::config::Config;
use crate::context::Context; use crate::context::Context;
use crate::error::{bail, ensure, format_err, Result};
use crate::headerdef::HeaderDef; use crate::headerdef::HeaderDef;
use crate::headerdef::HeaderDefMap; use crate::headerdef::HeaderDefMap;
use crate::key::{DcKey, Fingerprint, SignedPublicKey, SignedSecretKey}; use crate::key::{DcKey, Fingerprint, SignedPublicKey, SignedSecretKey};
@@ -411,7 +411,7 @@ Sent with my Delta Chat Messenger: https://delta.chat";
} }
#[async_std::test] #[async_std::test]
async fn test_encrypted_no_autocrypt() -> crate::error::Result<()> { async fn test_encrypted_no_autocrypt() -> anyhow::Result<()> {
let alice = TestContext::new_alice().await; let alice = TestContext::new_alice().await;
let bob = TestContext::new_bob().await; let bob = TestContext::new_bob().await;

View File

@@ -56,13 +56,14 @@
//! the database entries which are expired either according to their //! the database entries which are expired either according to their
//! ephemeral message timers or global `delete_server_after` setting. //! ephemeral message timers or global `delete_server_after` setting.
use anyhow::{ensure, Error};
use crate::chat::{lookup_by_contact_id, send_msg, ChatId}; use crate::chat::{lookup_by_contact_id, send_msg, ChatId};
use crate::constants::{ use crate::constants::{
Viewtype, DC_CHAT_ID_LAST_SPECIAL, DC_CHAT_ID_TRASH, DC_CONTACT_ID_DEVICE, DC_CONTACT_ID_SELF, Viewtype, DC_CHAT_ID_LAST_SPECIAL, DC_CHAT_ID_TRASH, DC_CONTACT_ID_DEVICE, DC_CONTACT_ID_SELF,
}; };
use crate::context::Context; use crate::context::Context;
use crate::dc_tools::time; use crate::dc_tools::time;
use crate::error::{ensure, Error};
use crate::events::EventType; use crate::events::EventType;
use crate::message::{Message, MessageState, MsgId}; use crate::message::{Message, MessageState, MsgId};
use crate::mimeparser::SystemMessage; use crate::mimeparser::SystemMessage;
@@ -533,7 +534,7 @@ mod tests {
} }
#[async_std::test] #[async_std::test]
async fn test_ephemeral_timer() -> crate::error::Result<()> { async fn test_ephemeral_timer() -> anyhow::Result<()> {
let alice = TestContext::new_alice().await; let alice = TestContext::new_alice().await;
let bob = TestContext::new_bob().await; let bob = TestContext::new_bob().await;

View File

@@ -1,7 +1,5 @@
//! # Error handling //! # Error handling
pub use anyhow::{bail, ensure, format_err, Error, Result};
#[macro_export] #[macro_export]
macro_rules! ensure_eq { macro_rules! ensure_eq {
($left:expr, $right:expr) => ({ ($left:expr, $right:expr) => ({

View File

@@ -10,10 +10,10 @@ use futures::future::FutureExt;
use std::future::Future; use std::future::Future;
use std::pin::Pin; use std::pin::Pin;
use anyhow::Result;
use lettre_email::mime::{self, Mime}; use lettre_email::mime::{self, Mime};
use crate::context::Context; use crate::context::Context;
use crate::error::Result;
use crate::headerdef::{HeaderDef, HeaderDefMap}; use crate::headerdef::{HeaderDef, HeaderDefMap};
use crate::message::{Message, MsgId}; use crate::message::{Message, MsgId};
use crate::mimeparser::parse_message_id; use crate::mimeparser::parse_message_id;

View File

@@ -1,11 +1,11 @@
use super::Imap; use super::Imap;
use anyhow::{bail, format_err, Result};
use async_imap::extensions::idle::IdleResponse; use async_imap::extensions::idle::IdleResponse;
use async_imap::types::UnsolicitedResponse; use async_imap::types::UnsolicitedResponse;
use async_std::prelude::*; use async_std::prelude::*;
use std::time::{Duration, SystemTime}; use std::time::{Duration, SystemTime};
use crate::error::{bail, format_err, Result};
use crate::{context::Context, scheduler::InterruptInfo}; use crate::{context::Context, scheduler::InterruptInfo};
use super::session::Session; use super::session::Session;

View File

@@ -5,7 +5,7 @@
use std::{cmp, cmp::max, collections::BTreeMap}; use std::{cmp, cmp::max, collections::BTreeMap};
use anyhow::Context as _; use anyhow::{bail, format_err, Context as _, Result};
use async_imap::{ use async_imap::{
error::Result as ImapResult, error::Result as ImapResult,
types::{Capability, Fetch, Flag, Mailbox, Name, NameAttribute}, types::{Capability, Fetch, Flag, Mailbox, Name, NameAttribute},
@@ -20,7 +20,6 @@ use crate::constants::{
}; };
use crate::context::Context; use crate::context::Context;
use crate::dc_receive_imf::{from_field_to_contact_id, get_prefetch_parent_message}; use crate::dc_receive_imf::{from_field_to_contact_id, get_prefetch_parent_message};
use crate::error::{bail, format_err, Result};
use crate::events::EventType; use crate::events::EventType;
use crate::headerdef::{HeaderDef, HeaderDefMap}; use crate::headerdef::{HeaderDef, HeaderDefMap};
use crate::job::{self, Action}; use crate::job::{self, Action};

View File

@@ -1,9 +1,9 @@
use std::time::Instant; use std::time::Instant;
use crate::{config::Config, context::Context}; use anyhow::{Context as _, Result};
use anyhow::Context as _;
use crate::error::Result; use crate::config::Config;
use crate::context::Context;
use crate::imap::Imap; use crate::imap::Imap;
use async_std::prelude::*; use async_std::prelude::*;

View File

@@ -3,7 +3,7 @@
use std::any::Any; use std::any::Any;
use std::ffi::OsStr; use std::ffi::OsStr;
use anyhow::Context as _; use anyhow::{bail, ensure, format_err, Context as _, Result};
use async_std::path::{Path, PathBuf}; use async_std::path::{Path, PathBuf};
use async_std::{ use async_std::{
fs::{self, File}, fs::{self, File},
@@ -22,7 +22,6 @@ use crate::dc_tools::{
dc_open_file_std, dc_read_file, dc_write_file, get_next_backup_path, time, EmailAddress, dc_open_file_std, dc_read_file, dc_write_file, get_next_backup_path, time, EmailAddress,
}; };
use crate::e2ee; use crate::e2ee;
use crate::error::{bail, ensure, format_err, Result};
use crate::events::EventType; use crate::events::EventType;
use crate::key::{self, DcKey, DcSecretKey, SignedPublicKey, SignedSecretKey}; use crate::key::{self, DcKey, DcSecretKey, SignedPublicKey, SignedSecretKey};
use crate::message::{Message, MsgId}; use crate::message::{Message, MsgId};

View File

@@ -6,19 +6,15 @@
use std::fmt; use std::fmt;
use std::future::Future; use std::future::Future;
use anyhow::{bail, ensure, format_err, Context as _, Error, Result};
use async_smtp::smtp::response::{Category, Code, Detail};
use deltachat_derive::{FromSql, ToSql}; use deltachat_derive::{FromSql, ToSql};
use itertools::Itertools; use itertools::Itertools;
use rand::{thread_rng, Rng}; use rand::{thread_rng, Rng};
use anyhow::Context as _;
use async_smtp::smtp::response::Category;
use async_smtp::smtp::response::Code;
use async_smtp::smtp::response::Detail;
use crate::context::Context; use crate::context::Context;
use crate::dc_tools::{dc_delete_file, dc_read_file, time}; use crate::dc_tools::{dc_delete_file, dc_read_file, time};
use crate::ephemeral::load_imap_deletion_msgid; use crate::ephemeral::load_imap_deletion_msgid;
use crate::error::{bail, ensure, format_err, Error, Result};
use crate::events::EventType; use crate::events::EventType;
use crate::imap::{Imap, ImapActionResult}; use crate::imap::{Imap, ImapActionResult};
use crate::location; use crate::location;

View File

@@ -1,5 +1,6 @@
//! Location handling //! Location handling
use anyhow::{ensure, Error};
use bitflags::bitflags; use bitflags::bitflags;
use quick_xml::events::{BytesEnd, BytesStart, BytesText}; use quick_xml::events::{BytesEnd, BytesStart, BytesText};
@@ -8,7 +9,6 @@ use crate::config::Config;
use crate::constants::{Viewtype, DC_CONTACT_ID_SELF}; use crate::constants::{Viewtype, DC_CONTACT_ID_SELF};
use crate::context::Context; use crate::context::Context;
use crate::dc_tools::time; use crate::dc_tools::time;
use crate::error::{ensure, Error};
use crate::events::EventType; use crate::events::EventType;
use crate::job::{self, Job}; use crate::job::{self, Job};
use crate::message::{Message, MsgId}; use crate::message::{Message, MsgId};

View File

@@ -1,5 +1,6 @@
//! # Messages and their identifiers //! # Messages and their identifiers
use anyhow::{ensure, Error};
use async_std::path::{Path, PathBuf}; use async_std::path::{Path, PathBuf};
use deltachat_derive::{FromSql, ToSql}; use deltachat_derive::{FromSql, ToSql};
use itertools::Itertools; use itertools::Itertools;
@@ -19,7 +20,6 @@ use crate::dc_tools::{
dc_truncate, time, dc_truncate, time,
}; };
use crate::ephemeral::Timer as EphemeralTimer; use crate::ephemeral::Timer as EphemeralTimer;
use crate::error::{ensure, Error};
use crate::events::EventType; use crate::events::EventType;
use crate::job::{self, Action}; use crate::job::{self, Action};
use crate::lot::{Lot, LotState, Meaning}; use crate::lot::{Lot, LotState, Meaning};

View File

@@ -1,3 +1,4 @@
use anyhow::{bail, ensure, format_err, Error};
use chrono::TimeZone; use chrono::TimeZone;
use lettre_email::{mime, Address, Header, MimeMultipartType, PartBuilder}; use lettre_email::{mime, Address, Header, MimeMultipartType, PartBuilder};
@@ -12,7 +13,6 @@ use crate::dc_tools::{
}; };
use crate::e2ee::EncryptHelper; use crate::e2ee::EncryptHelper;
use crate::ephemeral::Timer as EphemeralTimer; use crate::ephemeral::Timer as EphemeralTimer;
use crate::error::{bail, ensure, format_err, Error};
use crate::format_flowed::{format_flowed, format_flowed_quote}; use crate::format_flowed::{format_flowed, format_flowed_quote};
use crate::location; use crate::location;
use crate::message::{self, Message, MsgId}; use crate::message::{self, Message, MsgId};

View File

@@ -2,6 +2,7 @@ use std::collections::{HashMap, HashSet};
use std::future::Future; use std::future::Future;
use std::pin::Pin; use std::pin::Pin;
use anyhow::{bail, Result};
use deltachat_derive::{FromSql, ToSql}; use deltachat_derive::{FromSql, ToSql};
use lettre_email::mime::{self, Mime}; use lettre_email::mime::{self, Mime};
use mailparse::{addrparse_header, DispositionType, MailHeader, MailHeaderMap, SingleInfo}; use mailparse::{addrparse_header, DispositionType, MailHeader, MailHeaderMap, SingleInfo};
@@ -15,7 +16,6 @@ use crate::context::Context;
use crate::dc_tools::dc_get_filemeta; use crate::dc_tools::dc_get_filemeta;
use crate::dehtml::dehtml; use crate::dehtml::dehtml;
use crate::e2ee; use crate::e2ee;
use crate::error::{bail, Result};
use crate::events::EventType; use crate::events::EventType;
use crate::format_flowed::unformat_flowed; use crate::format_flowed::unformat_flowed;
use crate::headerdef::{HeaderDef, HeaderDefMap}; use crate::headerdef::{HeaderDef, HeaderDefMap};

View File

@@ -2,6 +2,7 @@ use std::collections::BTreeMap;
use std::fmt; use std::fmt;
use std::str; use std::str;
use anyhow::{bail, Error};
use async_std::path::PathBuf; use async_std::path::PathBuf;
use itertools::Itertools; use itertools::Itertools;
use num_traits::FromPrimitive; use num_traits::FromPrimitive;
@@ -9,7 +10,6 @@ use serde::{Deserialize, Serialize};
use crate::blob::{BlobError, BlobObject}; use crate::blob::{BlobError, BlobObject};
use crate::context::Context; use crate::context::Context;
use crate::error::{self, bail};
use crate::message::MsgId; use crate::message::MsgId;
use crate::mimeparser::SystemMessage; use crate::mimeparser::SystemMessage;
@@ -163,7 +163,7 @@ impl fmt::Display for Params {
} }
impl str::FromStr for Params { impl str::FromStr for Params {
type Err = error::Error; type Err = Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> { fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
let mut inner = BTreeMap::new(); let mut inner = BTreeMap::new();

View File

@@ -1,14 +1,15 @@
//! # [Autocrypt Peer State](https://autocrypt.org/level1.html#peer-state-management) module //! # [Autocrypt Peer State](https://autocrypt.org/level1.html#peer-state-management) module
use std::collections::HashSet; use std::collections::HashSet;
use std::fmt; use std::fmt;
use anyhow::{bail, Result};
use num_traits::FromPrimitive; use num_traits::FromPrimitive;
use crate::aheader::{Aheader, EncryptPreference}; use crate::aheader::{Aheader, EncryptPreference};
use crate::chat; use crate::chat;
use crate::constants::Blocked; use crate::constants::Blocked;
use crate::context::Context; use crate::context::Context;
use crate::error::{bail, Result};
use crate::events::EventType; use crate::events::EventType;
use crate::key::{DcKey, Fingerprint, SignedPublicKey}; use crate::key::{DcKey, Fingerprint, SignedPublicKey};
use crate::sql::Sql; use crate::sql::Sql;

View File

@@ -4,6 +4,7 @@ use std::collections::{BTreeMap, HashSet};
use std::io; use std::io;
use std::io::Cursor; use std::io::Cursor;
use anyhow::{bail, ensure, format_err, Result};
use pgp::armor::BlockType; use pgp::armor::BlockType;
use pgp::composed::{ use pgp::composed::{
Deserializable, KeyType as PgpKeyType, Message, SecretKeyParamsBuilder, SignedPublicKey, Deserializable, KeyType as PgpKeyType, Message, SecretKeyParamsBuilder, SignedPublicKey,
@@ -17,7 +18,6 @@ use rand::{thread_rng, CryptoRng, Rng};
use crate::constants::KeyGenType; use crate::constants::KeyGenType;
use crate::dc_tools::EmailAddress; use crate::dc_tools::EmailAddress;
use crate::error::{bail, ensure, format_err, Result};
use crate::key::{DcKey, Fingerprint}; use crate::key::{DcKey, Fingerprint};
use crate::keyring::Keyring; use crate::keyring::Keyring;

View File

@@ -1,5 +1,6 @@
//! # QR code module //! # QR code module
use anyhow::{bail, ensure, format_err, Error};
use once_cell::sync::Lazy; use once_cell::sync::Lazy;
use percent_encoding::percent_decode_str; use percent_encoding::percent_decode_str;
use serde::Deserialize; use serde::Deserialize;
@@ -9,7 +10,6 @@ use crate::config::Config;
use crate::constants::Blocked; use crate::constants::Blocked;
use crate::contact::{addr_normalize, may_be_valid_addr, Contact, Origin}; use crate::contact::{addr_normalize, may_be_valid_addr, Contact, Origin};
use crate::context::Context; use crate::context::Context;
use crate::error::{bail, ensure, format_err, Error};
use crate::key::Fingerprint; use crate::key::Fingerprint;
use crate::lot::{Lot, LotState}; use crate::lot::{Lot, LotState};
use crate::message::Message; use crate::message::Message;

View File

@@ -7,6 +7,7 @@ use std::collections::HashSet;
use std::path::Path; use std::path::Path;
use std::time::Duration; use std::time::Duration;
use anyhow::format_err;
use rusqlite::{Connection, Error as SqlError, OpenFlags}; use rusqlite::{Connection, Error as SqlError, OpenFlags};
use crate::chat::add_device_msg; use crate::chat::add_device_msg;
@@ -15,7 +16,6 @@ use crate::constants::{ShowEmails, DC_CHAT_ID_TRASH};
use crate::context::Context; use crate::context::Context;
use crate::dc_tools::{dc_delete_file, time, EmailAddress}; use crate::dc_tools::{dc_delete_file, time, EmailAddress};
use crate::ephemeral::start_ephemeral_timers; use crate::ephemeral::start_ephemeral_timers;
use crate::error::format_err;
use crate::imap; use crate::imap;
use crate::param::{Param, Params}; use crate::param::{Param, Params};
use crate::peerstate::Peerstate; use crate::peerstate::Peerstate;
@@ -54,7 +54,7 @@ pub enum Error {
#[error("{0:?}")] #[error("{0:?}")]
BlobError(#[from] crate::blob::BlobError), BlobError(#[from] crate::blob::BlobError),
#[error("{0}")] #[error("{0}")]
Other(#[from] crate::error::Error), Other(#[from] anyhow::Error),
} }
pub type Result<T> = std::result::Result<T, Error>; pub type Result<T> = std::result::Result<T, Error>;
@@ -92,7 +92,7 @@ impl Sql {
context: &Context, context: &Context,
dbfile: T, dbfile: T,
readonly: bool, readonly: bool,
) -> crate::error::Result<()> { ) -> anyhow::Result<()> {
let res = open(context, self, &dbfile, readonly).await; let res = open(context, self, &dbfile, readonly).await;
if let Err(err) = &res { if let Err(err) = &res {
match err.downcast_ref::<Error>() { match err.downcast_ref::<Error>() {
@@ -697,7 +697,7 @@ async fn open(
sql: &Sql, sql: &Sql,
dbfile: impl AsRef<Path>, dbfile: impl AsRef<Path>,
readonly: bool, readonly: bool,
) -> crate::error::Result<()> { ) -> anyhow::Result<()> {
if sql.is_open().await { if sql.is_open().await {
error!( error!(
context, context,

View File

@@ -2,6 +2,7 @@
use std::borrow::Cow; use std::borrow::Cow;
use anyhow::{bail, Error};
use strum::EnumProperty; use strum::EnumProperty;
use strum_macros::EnumProperty; use strum_macros::EnumProperty;
@@ -10,7 +11,6 @@ use crate::chat::ProtectionStatus;
use crate::constants::{Viewtype, DC_CONTACT_ID_SELF}; use crate::constants::{Viewtype, DC_CONTACT_ID_SELF};
use crate::contact::{Contact, Origin}; use crate::contact::{Contact, Origin};
use crate::context::Context; use crate::context::Context;
use crate::error::{bail, Error};
use crate::message::Message; use crate::message::Message;
use crate::param::Param; use crate::param::Param;
use crate::stock::StockMessage::{DeviceMessagesHint, WelcomeMessage}; use crate::stock::StockMessage::{DeviceMessagesHint, WelcomeMessage};