diff --git a/src/rust/utils.rs b/src/rust/utils.rs index 9fec6cd..c34163e 100644 --- a/src/rust/utils.rs +++ b/src/rust/utils.rs @@ -1,7 +1,13 @@ +use time::macros::format_description; +use tracing_subscriber::{ + fmt::{self, time::LocalTime}, + EnvFilter, +}; + mod db { use diesel::{Connection, SqliteConnection}; use dirs::data_local_dir; - use sqlx::{Error, SqliteConnection as SqlxConn}; + use sqlx::{Connection as SqlxConnection, Error}; pub enum Model { Songs, @@ -23,18 +29,43 @@ mod db { }) } - // async fn get_items(model: Model) -> Result<(), Error> { - // let conn = SqlxConn::connect( - // "/home/chris/.local/share/lumina/library-db.sqlite3", + // fn get_items(model: Model) -> Result<(), Error> { + // let conn = sqlx::SqliteConnection::connect( + // "sqlite::/home/chris/.local/share/lumina/library-db.sqlite3", // ); // match model { // Songs => { // let select = sqlx::query_as("SELECT $1") // .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(); +} diff --git a/src/rust/ytdl.rs b/src/rust/ytdl.rs index c7e3ef6..b184bc1 100644 --- a/src/rust/ytdl.rs +++ b/src/rust/ytdl.rs @@ -28,7 +28,7 @@ mod ytdl { impl qobject::Ytdl { #[qinvokable] - pub fn get_video( + pub fn get_video( mut self: Pin<&mut Self>, url: QUrl, ) -> bool { @@ -46,7 +46,8 @@ mod ytdl { println!("{:?}", data_dir); self.as_mut().set_loading(true); 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 output_dirs = data_dir.to_str().unwrap(); println!("{output_dirs}"); @@ -93,5 +94,7 @@ mod ytdl { } } } + + async fn dl_video() {} } }