diff options
| -rw-r--r-- | src/configmanager.rs | 15 | ||||
| -rw-r--r-- | src/main.rs | 34 | ||||
| -rw-r--r-- | src/parser.rs | 8 |
3 files changed, 37 insertions, 20 deletions
diff --git a/src/configmanager.rs b/src/configmanager.rs index 0bbbb73..c0047a5 100644 --- a/src/configmanager.rs +++ b/src/configmanager.rs @@ -17,6 +17,14 @@ pub struct Config { pub snowy: String, } +pub fn handle_config(_config: &Config) -> Result<(), Box<dyn std::error::Error>> { + Ok(()) +} + +pub fn gen_standard_conf() { + // TODO: Implement +} + impl Config { pub fn load() -> Result<Self, Box<dyn std::error::Error>> { let mut path = home_dir().ok_or("Home directory not found")?; @@ -28,10 +36,3 @@ impl Config { } } -pub fn handle_config(_config: &Config) -> Result<(), Box<dyn std::error::Error>> { - Ok(()) -} - -pub fn gen_standard_conf() { - // TODO: Implement -}
\ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 4f15b56..9f64ca4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,10 +1,14 @@ -use clap::{Arg, Command}; -use termimage; +extern crate image; + + +use clap::{Arg, Command}; +use termimage::{Options}; + mod configmanager; mod parser; -use configmanager::{Config, handle_config}; +use crate::configmanager::{Config, handle_config}; fn main() -> Result<(), Box<dyn std::error::Error>> { let matches = Command::new("WeatherFetch") @@ -19,11 +23,11 @@ fn main() -> Result<(), Box<dyn std::error::Error>> { .arg(Arg::new("lon").short('n').long("lon").value_name("LONGITUDE")) .get_matches(); - if matches.contains_id("help") { - println!("Usage: ..."); - return Ok(()); - } - + if matches.contains_id("help") { + println!("Usage: ..."); + return Ok(()); + } + if let Some(img_path) = matches.get_one::<String>("image") { let _img = Image::from_path(img_path)?; } @@ -31,5 +35,17 @@ fn main() -> Result<(), Box<dyn std::error::Error>> { let config = Config::load()?; handle_config(&config)?; + + let opts = Options::parse(); + /* + if !opts { + opts = configmanager::Config::load(); + } + + let format = ops::guess_format(&opts.image)?; + let img = ops::load_image(&opts.image, format)?; + + */ + Ok(()) -}
\ No newline at end of file +} diff --git a/src/parser.rs b/src/parser.rs index e8eff39..5a670b1 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -2,7 +2,7 @@ use reqwest::{Error, Client, get}; use chrono::{DateTime, Utc, prelude::*}; use serde::{Serialize, Deserialize}; -use crate::configmanager::{Config}; +use crate::configmanager; //API answer struct`s #[derive(Debug, Serialize, Deserialize)] @@ -125,10 +125,10 @@ pub struct Alert { -pub fn get_location(let coords_args: bool, config: &Config) -> Result<(), String>{ +pub fn get_location(coords_args: bool) -> Result<(), String>{ //Get the lat and lon for API call - configmanager::handle_config(); - if Config.lat.is_empty() || Config.lon.is_empty() && !coords_args{ + let conf: Option<configmanager::load()>; + if conf.lat.is_empty() || conf.lon.is_empty() && !coords_args{ println!("No coordinates in configuration file or conf not founded."); println!("HINT: Try create ~/.config/WeatherFetch/Config.toml"); println!("HINT: And add `lat(<int>)`, `lon(<int>)`."); |
