summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjakka <jakka@jakka.su>2025-10-10 14:38:30 +0300
committerjakka <jakka@jakka.su>2025-10-10 14:38:30 +0300
commit2ce5f258c3fb2b4d3475790aa879e254c312a6af (patch)
tree401cf64de1a19f0a3551b45c6ee876022fb6aa28 /src
parent9c90264d5f8a5200ad719ef3d102c0fb726bb94a (diff)
async file metadata retrieval
Diffstat (limited to 'src')
-rw-r--r--src/db.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/db.rs b/src/db.rs
index 99b577e..a4896ee 100644
--- a/src/db.rs
+++ b/src/db.rs
@@ -5,6 +5,7 @@ use std::{
path::{Path, PathBuf},
time::UNIX_EPOCH,
};
+use tokio::fs;
use turso::{Connection, params, transaction::Transaction};
const TABLE_CREATE: &str = "CREATE TABLE IF NOT EXISTS flacs (path TEXT PRIMARY KEY UNIQUE, toencode BOOLEAN NOT NULL, modtime INTEGER)";
@@ -38,8 +39,8 @@ pub(crate) async fn init_db(path: Option<&PathBuf>) -> Result<turso::Database> {
pub(crate) async fn insert_file<'a>(tx: Transaction<'a>, filename: &Path) -> Result<()> {
let toencode = !matches!(get_vendor(filename)?.as_str(), CURRENT_VENDOR);
- let modtime = filename
- .metadata()?
+ let modtime = fs::metadata(filename)
+ .await?
.modified()?
.duration_since(UNIX_EPOCH)?
.as_secs();
@@ -56,8 +57,8 @@ pub(crate) async fn insert_file<'a>(tx: Transaction<'a>, filename: &Path) -> Res
}
pub(crate) async fn update_file<'a>(tx: Transaction<'a>, filename: &Path) -> Result<()> {
- let modtime = filename
- .metadata()?
+ let modtime = fs::metadata(filename)
+ .await?
.modified()?
.duration_since(UNIX_EPOCH)?
.as_secs();