71 lines
1.7 KiB
Rust
71 lines
1.7 KiB
Rust
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::{Connection as SqlxConnection, Error};
|
|
|
|
pub enum Model {
|
|
Songs,
|
|
Presentations,
|
|
Videos,
|
|
Images,
|
|
}
|
|
|
|
fn get_db() -> SqliteConnection {
|
|
let mut data = data_local_dir().unwrap();
|
|
data.push("lumina");
|
|
data.push("library-db.sqlite3");
|
|
let mut db_url = String::from("sqlite://");
|
|
db_url.push_str(data.to_str().unwrap());
|
|
println!("DB: {:?}", db_url);
|
|
|
|
SqliteConnection::establish(&db_url).unwrap_or_else(|_| {
|
|
panic!("error connecting to {}", db_url)
|
|
})
|
|
}
|
|
|
|
// 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);
|
|
// }
|
|
// }
|
|
|
|
// 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();
|
|
}
|