aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorA Farzat <a@farzat.xyz>2026-02-08 11:22:27 +0300
committerA Farzat <a@farzat.xyz>2026-02-08 11:22:27 +0300
commit639ddf4b2e88bdc95a9e09eadea1be606327dea5 (patch)
treea608d3811b7d1d0e0324930140fcb8ed0ec4563a /src/main.rs
parent9d3bff94d9dfc332a6bb05efc923135cf22a35d2 (diff)
downloadsafaribooks-rs-639ddf4b2e88bdc95a9e09eadea1be606327dea5.tar.gz
safaribooks-rs-639ddf4b2e88bdc95a9e09eadea1be606327dea5.zip
Add display and config modules
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
index 3b3e84d..ad33122 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,8 +1,30 @@
mod cli;
+mod config;
+mod display;
use clap::Parser;
use cli::Args;
+use display::Display;
fn main() {
let args = Args::parse();
+
+ let mut ui = Display::new(&args.bookid);
+
+ let cookies = config::cookies_file();
+ if !cookies.exists() {
+ ui.error_and_exit(
+ "cookies.json not found.\n\
+ This version requires an existing authenticated session.",
+ );
+ }
+
+ ui.info(&format!("Using cookies file: {}", cookies.display()));
+
+ let output_dir = config::books_root().join(format!("(pending) ({})", args.bookid));
+
+ ui.set_output_dir(output_dir);
+
+ ui.info("Initialization complete.");
+ ui.info("No network operations performed in this version.");
}