Moved some files and started skeleton db
This commit is contained in:
@@ -9,8 +9,10 @@ edition = "2021"
|
|||||||
chrono = { version = "0.4.39", features = ["serde"] }
|
chrono = { version = "0.4.39", features = ["serde"] }
|
||||||
clap = { version = "4.5.42", features = ["derive"] }
|
clap = { version = "4.5.42", features = ["derive"] }
|
||||||
closestmatch = "0.1.2"
|
closestmatch = "0.1.2"
|
||||||
|
dir_spec = "0.2.0"
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
serde_json = "1.0.138"
|
serde_json = "1.0.138"
|
||||||
|
sqlite = "0.37.0"
|
||||||
tempfile = "3.20.0"
|
tempfile = "3.20.0"
|
||||||
ureq = { version = "3.0.12", features = ["json"] }
|
ureq = { version = "3.0.12", features = ["json"] }
|
||||||
uuid = { version = "1.12.1", features = ["v4", "serde"] }
|
uuid = { version = "1.12.1", features = ["v4", "serde"] }
|
||||||
|
|||||||
34
scryfall_deser/src/db.rs
Normal file
34
scryfall_deser/src/db.rs
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
use dir_spec::Dir;
|
||||||
|
use sqlite;
|
||||||
|
use std::fs;
|
||||||
|
|
||||||
|
const CACHE_FOLDER: &str = "scryfall_cache";
|
||||||
|
|
||||||
|
// NOTE: this should be idempotent
|
||||||
|
pub fn create_cache_folder() {
|
||||||
|
let cache_folder = Dir::cache_home();
|
||||||
|
match cache_folder {
|
||||||
|
None => {
|
||||||
|
panic!("Can't find a cache folder - really don't know what the problem is sorry");
|
||||||
|
}
|
||||||
|
Some(mut f) => {
|
||||||
|
f.push(CACHE_FOLDER);
|
||||||
|
let ret = fs::create_dir(&f);
|
||||||
|
match ret {
|
||||||
|
Ok(_) => (),
|
||||||
|
Err(_e) => {
|
||||||
|
let err_string = format!(
|
||||||
|
"Couldn't create folder within your cache folder: {}",
|
||||||
|
f.display()
|
||||||
|
);
|
||||||
|
panic!("{}", err_string);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn init_db() -> bool {
|
||||||
|
create_cache_folder();
|
||||||
|
true
|
||||||
|
}
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
mod download;
|
mod download;
|
||||||
|
|
||||||
pub use crate::download::download_latest;
|
pub use crate::download::download_latest;
|
||||||
|
|
||||||
mod deser;
|
mod deser;
|
||||||
|
|
||||||
pub use crate::deser::ScryfallCard;
|
pub use crate::deser::ScryfallCard;
|
||||||
|
|
||||||
|
mod db;
|
||||||
|
pub use db::init_db;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ struct Args {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let mut args = Args::parse();
|
let args = Args::parse();
|
||||||
if args.update {
|
if args.update {
|
||||||
unimplemented!("Haven't implemented update yet");
|
unimplemented!("Haven't implemented update yet");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user