summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNamilskyy <alive6863@gmail.com>2025-03-26 14:49:15 +0300
committerNamilskyy <alive6863@gmail.com>2025-03-26 14:49:15 +0300
commitc214e1c59e54b895e32c332afc6bb8e897b01d0e (patch)
tree449c7c4c4ed02c72469a7bd22b3cb1bc3b8b133c
parente687e9bd48ce383894fd499595fc25c2dd8ca024 (diff)
Fixing errs
-rw-r--r--src/configmanager.rs15
-rw-r--r--src/main.rs34
-rw-r--r--src/parser.rs8
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>)`.");