diff options
Diffstat (limited to 'src/db/utils.rs')
| -rw-r--r-- | src/db/utils.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/db/utils.rs b/src/db/utils.rs index 8f8a31d..7c359ab 100644 --- a/src/db/utils.rs +++ b/src/db/utils.rs @@ -1,17 +1,18 @@ pub fn format_key_for_search(value: &str) -> String { // Lower doesn’t work on accentuated letters, hence the need to remove manually accents for // uppercase letters as well. - format!("replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(lower({}), 'à', 'a'), 'â', 'a'), 'ç', 'c'), 'è', 'e'), 'é', 'e'), 'ê', 'e'), 'ë', 'e'), 'î', 'i'), 'ï', 'i'), 'ô', 'o'), 'ù', 'u'), 'û', 'u'), 'ü', 'u'), 'À', 'A'), 'Â', 'A'), 'Ç', 'C'), 'È', 'E'), 'É', 'E'), 'Ê', 'E'), 'Ë', 'E'), 'Î', 'I'), 'Ï', 'I'), 'Ô', 'O'), 'Ù', 'U'), 'Û', 'U'), 'Ü', 'U')", value) + format!( + "replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(lower({}), 'à', 'a'), 'â', 'a'), 'ç', 'c'), 'è', 'e'), 'é', 'e'), 'ê', 'e'), 'ë', 'e'), 'î', 'i'), 'ï', 'i'), 'ô', 'o'), 'ù', 'u'), 'û', 'u'), 'ü', 'u'), 'À', 'A'), 'Â', 'A'), 'Ç', 'C'), 'È', 'E'), 'É', 'E'), 'Ê', 'E'), 'Ë', 'E'), 'Î', 'I'), 'Ï', 'I'), 'Ô', 'O'), 'Ù', 'U'), 'Û', 'U'), 'Ü', 'U')", + value + ) } pub fn one<A, I: Iterator<Item = Result<A, rusqlite::Error>>>( mut iter: I, -) -> Result<A, tokio_rusqlite::Error> { +) -> Result<A, rusqlite::Error> { match iter.next() { Some(Ok(user)) => Ok(user), - Some(Err(err)) => Err(tokio_rusqlite::Error::Rusqlite(err)), - None => Err(tokio_rusqlite::Error::Rusqlite( - rusqlite::Error::QueryReturnedNoRows, - )), + Some(Err(err)) => Err(err), + None => Err(rusqlite::Error::QueryReturnedNoRows), } } |
