From 0fb58ab610f1c9d546ace52184831495c8541fae Mon Sep 17 00:00:00 2001 From: namilsk Date: Tue, 6 Jan 2026 17:28:09 +0300 Subject: Fixed issue with `Config::parse()` call if it not needed --- src/main.rs | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 4e1402d..dc238b1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -122,13 +122,8 @@ struct RemoteInstallArgs { #[tokio::main] async fn main() -> Result<(), Box> { - let config = crate::cfg::config::Config::parse()?; - - init_router(&config).await?; let cli: Cli = Cli::parse(); - let config = Arc::new(config); - let result = { match &cli.command { Commands::Validate { path } => { @@ -170,7 +165,7 @@ async fn main() -> Result<(), Box> { println!("Extracting archive..."); Package::extract_archive(pkgname)?; - let config = Config::parse().unwrap(); + let config = Config::parse()?; let cache_dir = &config.paths.cache_dir; // Find the package directory (should be name-version format) @@ -226,7 +221,7 @@ async fn main() -> Result<(), Box> { println!("Extracting archive..."); Package::extract_archive(pkgname)?; - let config = Config::parse().unwrap(); + let config = Config::parse()?; let cache_dir = &config.paths.cache_dir; let mut pkg_dir_name = None; @@ -264,7 +259,11 @@ async fn main() -> Result<(), Box> { pkg.install()?; println!("Package '{}' installed successfully.", pkg.name); } else { - let config = Config::parse().unwrap(); + let config = Config::parse()?; + // Initialize router if it's needed for I2P connections and is enabled + if !args.http && config.router.integrated_router { + init_router(&config).await?; + } if args.http { println!("Installing {} via HTTP", pkgname); let mut http_client = HTTPPackage::new(config); @@ -323,7 +322,11 @@ async fn main() -> Result<(), Box> { } } Commands::GetSource { pkgname } => { - let config = Config::parse().unwrap(); + let config = Config::parse()?; + // Initialize router for I2P connections if enabled + if config.router.integrated_router { + init_router(&config).await?; + } println!("Getting source of {}", pkgname); let source_path = GitSource::get_source_by_name(pkgname, &config)?; @@ -369,7 +372,11 @@ async fn main() -> Result<(), Box> { return Ok(()); } Commands::Update => { - let config = Config::parse().unwrap(); + let config = Config::parse()?; + // Initialize router for I2P connections if enabled + if config.router.integrated_router { + init_router(&config).await?; + } println!("Updating index from {}", config.repo.repo_url); let mut i2p_client = I2PPackage::new(config); -- cgit v1.2.3