From 00d704fdd68bba0776a4ae4552324811f9391bc7 Mon Sep 17 00:00:00 2001 From: Kenneth Gitere Date: Wed, 28 Apr 2021 07:47:45 +0300 Subject: [PATCH] Move initializing logger to logs module --- Cargo.lock | 1 - Cargo.toml | 2 +- src/logs.rs | 26 ++++++++++++++++++++++++++ src/main.rs | 25 ++----------------------- 4 files changed, 29 insertions(+), 25 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7808f4f..831201d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1485,7 +1485,6 @@ name = "paperoni" version = "0.3.0-alpha1" dependencies = [ "async-std", - "atty", "clap", "colored", "comfy-table", diff --git a/Cargo.toml b/Cargo.toml index b37aea1..af15d18 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ readme = "README.md" [dependencies] async-std = "1.9.0" -atty = "0.2.14" +# atty = "0.2.14" clap = "2.33.3" colored = "2.0.0" comfy-table = "2.1.0" diff --git a/src/logs.rs b/src/logs.rs index 6efec8a..84e97e0 100644 --- a/src/logs.rs +++ b/src/logs.rs @@ -1,6 +1,7 @@ use colored::*; use comfy_table::presets::UTF8_HORIZONTAL_BORDERS_ONLY; use comfy_table::{Cell, CellAlignment, ContentArrangement, Table}; +use directories::UserDirs; use log::error; use crate::errors::PaperoniError; @@ -75,6 +76,31 @@ fn short_summary(initial_count: usize, successful_count: usize, failed_count: us } } +pub fn init_logger() { + match UserDirs::new() { + Some(user_dirs) => { + let home_dir = user_dirs.home_dir(); + let paperoni_dir = home_dir.join(".paperoni"); + let log_dir = paperoni_dir.join("logs"); + if !paperoni_dir.is_dir() || !log_dir.is_dir() { + std::fs::create_dir_all(&log_dir).expect( + "Unable to create paperoni directories on home directory for logging purposes", + ); + } + match flexi_logger::Logger::with_str("paperoni=debug") + .directory(log_dir) + .log_to_file() + .print_message() + .start() + { + Ok(_) => (), + Err(e) => eprintln!("Unable to start logger!\n{}", e), + } + } + None => eprintln!("Unable to get user directories for logging purposes"), + }; +} + #[cfg(test)] mod tests { use super::short_summary; diff --git a/src/main.rs b/src/main.rs index ebf2dca..b5cd770 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,7 +5,6 @@ use async_std::stream; use async_std::task; use comfy_table::presets::{UTF8_FULL, UTF8_HORIZONTAL_BORDERS_ONLY}; use comfy_table::{ContentArrangement, Table}; -use directories::UserDirs; use futures::stream::StreamExt; use indicatif::{ProgressBar, ProgressStyle}; use log::{debug, warn}; @@ -25,34 +24,14 @@ use cli::AppConfig; use epub::generate_epubs; use extractor::Extractor; use http::{download_images, fetch_html}; -use logs::display_summary; +use logs::{display_summary, init_logger}; fn main() { let app_config = cli::cli_init(); if !app_config.urls().is_empty() { if app_config.is_debug() { - match UserDirs::new() { - Some(user_dirs) => { - let home_dir = user_dirs.home_dir(); - let paperoni_dir = home_dir.join(".paperoni"); - let log_dir = paperoni_dir.join("logs"); - if !paperoni_dir.is_dir() || !log_dir.is_dir() { - std::fs::create_dir_all(&log_dir) - .expect("Unable to create paperoni directories on home directory for logging purposes"); - } - match flexi_logger::Logger::with_str("paperoni=debug") - .directory(log_dir) - .log_to_file() - .print_message() - .start() - { - Ok(_) => (), - Err(e) => eprintln!("Unable to start logger!\n{}", e), - } - } - None => eprintln!("Unable to get user directories for logging purposes"), - }; + init_logger(); } download(app_config); }