From ca356049faf28ab48b73d04d80d4d11236d3abc6 Mon Sep 17 00:00:00 2001 From: A Farzat Date: Sat, 14 Feb 2026 16:30:56 +0300 Subject: Group skeleton initialization into one function --- src/epub.rs | 8 ++++++++ src/main.rs | 10 +--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/epub.rs b/src/epub.rs index 90aeafb..63dfc4b 100644 --- a/src/epub.rs +++ b/src/epub.rs @@ -32,6 +32,14 @@ impl EpubSkeleton { } } + /// Initialize EpubSkeleton by creating directories and required files. + pub fn initialize(&self) -> Result<()> { + self.create_dirs()?; + self.write_mimetype()?; + self.write_container_xml()?; + Ok(()) + } + /// Create the directories defined in the struct. pub fn create_dirs(&self) -> Result<()> { fs::create_dir_all(&self.oebps) diff --git a/src/main.rs b/src/main.rs index 83743a7..1fbcfc6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -73,16 +73,8 @@ async fn main() { ui.set_output_dir(skeleton.root.clone()); // Create directories and required files - if let Err(e) = (|| -> anyhow::Result<()> { - skeleton.create_dirs()?; - skeleton.write_mimetype()?; - skeleton.write_container_xml()?; - Ok(()) - })() { + if let Err(e) = skeleton.initialize() { ui.error_and_exit(&format!("EPUB skeleton creation failed: {e}")); } ui.info("EPUB skeleton ready (mimetype + META-INF/container.xml + OEBPS/)."); - - ui.info("Initialization complete."); - ui.info("No network operations performed in this version."); } -- cgit v1.2.3-70-g09d2