Add async_unit_result_context, rename read_collection_file
This commit is contained in:
parent
5055583487
commit
1e9ff1057a
3 changed files with 25 additions and 12 deletions
10
src/error.rs
10
src/error.rs
|
@ -29,3 +29,13 @@ pub async fn async_result_context <
|
|||
Err (error) => on_failure (error) ,
|
||||
} ;
|
||||
}
|
||||
|
||||
pub async fn async_unit_result_context <
|
||||
AsyncFunction : Future < Output = Result <()> > ,
|
||||
FailureHandler : Fn (ZoodexError) ,
|
||||
> (
|
||||
function : AsyncFunction ,
|
||||
on_failure : FailureHandler ,
|
||||
) {
|
||||
async_result_context ( function , |_| () , on_failure ) . await ;
|
||||
}
|
||||
|
|
13
src/main.rs
13
src/main.rs
|
@ -26,17 +26,20 @@ fn on_activate ( app : & Application ) {
|
|||
ui . show_window () ;
|
||||
|
||||
spawn_future_local ( async move {
|
||||
async_result_context ( async {
|
||||
let collection = spawn_blocking ( || read_collection_file () )
|
||||
. await ? ? ;
|
||||
async_unit_result_context (
|
||||
async {
|
||||
let collection = spawn_blocking ( ||
|
||||
get_collection_from_file () ) . await ? ? ;
|
||||
ui . render_collection (collection) ;
|
||||
|
||||
Ok (())
|
||||
} , |_| () , |error| {
|
||||
} ,
|
||||
|error| {
|
||||
match error {
|
||||
CollectionFileError => eprintln ! ("Could not open collection file") ,
|
||||
} ;
|
||||
ui . close_window () ;
|
||||
} ) . await ;
|
||||
} ,
|
||||
) . await ;
|
||||
} ) ;
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ use crate :: { collection :: * , error :: { * , ZoodexError :: * } } ;
|
|||
|
||||
|
||||
|
||||
pub fn read_collection_file () -> Result <Collection> {
|
||||
pub fn get_collection_from_file () -> Result <Collection> {
|
||||
let sqlite_connection = Connection :: open ("zoodex.sqlite") ? ;
|
||||
|
||||
let mut films_query = sqlite_connection
|
||||
|
|
Loading…
Add table
Reference in a new issue