trying to use tokio for async stuff and tracing for logging

This commit is contained in:
Chris Cochrun 2023-09-27 09:45:23 -05:00
parent 7681f1c811
commit bef09ed805
2 changed files with 42 additions and 8 deletions

View file

@ -1,7 +1,13 @@
use time::macros::format_description;
use tracing_subscriber::{
fmt::{self, time::LocalTime},
EnvFilter,
};
mod db { mod db {
use diesel::{Connection, SqliteConnection}; use diesel::{Connection, SqliteConnection};
use dirs::data_local_dir; use dirs::data_local_dir;
use sqlx::{Error, SqliteConnection as SqlxConn}; use sqlx::{Connection as SqlxConnection, Error};
pub enum Model { pub enum Model {
Songs, Songs,
@ -23,18 +29,43 @@ mod db {
}) })
} }
// async fn get_items(model: Model) -> Result<(), Error> { // fn get_items(model: Model) -> Result<(), Error> {
// let conn = SqlxConn::connect( // let conn = sqlx::SqliteConnection::connect(
// "/home/chris/.local/share/lumina/library-db.sqlite3", // "sqlite::/home/chris/.local/share/lumina/library-db.sqlite3",
// ); // );
// match model { // match model {
// Songs => { // Songs => {
// let select = sqlx::query_as("SELECT $1") // let select = sqlx::query_as("SELECT $1")
// .bind("songs") // .bind("songs")
// .fetch_all(&mut conn).await?; // .fetch_all(&mut conn);
// } // }
// } // }
// Ok(()); // Ok(())
// } // }
} }
#[cxx_qt::bridge]
mod utilities {
#[cxx_qt::qobject]
#[derive(Default, Debug)]
pub struct Utils {}
impl qobject::Utils {
#[qinvokable]
pub fn setup(&self) {
crate::utils::setup();
}
}
}
pub fn setup() {
tracing_subscriber::FmtSubscriber::builder()
.pretty()
.with_line_number(true)
.with_level(true)
.with_target(true)
.with_env_filter(EnvFilter::from_default_env())
.init();
}

View file

@ -46,7 +46,8 @@ mod ytdl {
println!("{:?}", data_dir); println!("{:?}", data_dir);
self.as_mut().set_loading(true); self.as_mut().set_loading(true);
let thread = self.qt_thread(); let thread = self.qt_thread();
thread::spawn(move || { let runtime = tokio::runtime::Runtime::new().unwrap();
runtime.spawn(async move {
let url = url.to_string(); let url = url.to_string();
let output_dirs = data_dir.to_str().unwrap(); let output_dirs = data_dir.to_str().unwrap();
println!("{output_dirs}"); println!("{output_dirs}");
@ -93,5 +94,7 @@ mod ytdl {
} }
} }
} }
async fn dl_video() {}
} }
} }