Загрузил(а) файлы в 'src'

This commit is contained in:
2023-07-03 20:45:07 +02:00
parent b1c8a549cf
commit 713e9e9fe2
2 changed files with 59 additions and 135 deletions

View File

@@ -1,143 +1,31 @@
use futures::executor::block_on; mod setwp;
use std::time::{Duration, Instant};
use std::thread::sleep;
use std::env;
use std::fs; use std::fs;
use download_rs::async_download::Download;
use wallpaper;
fn main() { fn main() {
for arg in env::args() { for _ in 0..24 {
if arg == "hd" { setwp::del();
loop { let _ = fs::create_dir_all("/tmp/unwp").expect("Программе не удалось создать временный каталог для её работы.");
let b = hdd(); let mut base_url = "https://source.unsplash.com/random/".to_string();
block_on(b);
let _f = Instant::now(); for arg in std::env::args() {
sleep(Duration::new(3600, 3600)); if arg == "hd" {
let irl: &mut String = &mut base_url;
irl.push_str("1280x720");
setwp::download(irl);
} else if arg == "fhd" {
let irl: &mut String = &mut base_url;
irl.push_str("1920x1080");
setwp::download(irl);
} else if arg == "qhd" {
let irl: &mut String = &mut base_url;
irl.push_str("3840x2160");
setwp::download(irl);
} else if arg == "uhd" {
let irl: &mut String = &mut base_url;
irl.push_str("7680x4320");
setwp::download(irl);
} }
} else if arg == "fhd" { }
loop {
let b = fhdd();
block_on(b);
let _f = Instant::now();
sleep(Duration::new(3600, 3600));
}
} else if arg == "qhd" {
loop {
let b = qhdd();
block_on(b);
let _f = Instant::now();
sleep(Duration::new(3600, 3600));
}
} else if arg == "uhd" {
loop {
let b = uhdd();
block_on(b);
let _f = Instant::now();
sleep(Duration::new(3600, 3600));
}
} else if arg == "help"{
println!(" Чтобы начать пользоваться этой программой введите в терминал 'unwp hd'. Вместо hd разрешение обоев, которое вы хотите видеть. \n Доспупные разрешения: \n hd \n fhd \n qhd \n uhd\n\n Автор: KhomyaK_HTF, Донецк, 2023 год.");
}/* else if arg == " " {
println!("Пожалуйста, введите разрешение обоев, которое вы хотите видеть у себя на рабочем столе. Например 'unwp fhd'");
}*/
} }
} }
async fn cr() {
fs::create_dir_all("/tmp/unwp").expect("Программе не удалось создать временный каталог для её работы.");
fs::remove_file("/tmp/unwp/bg.png");
}
async fn hd() {
let _url = "https://source.unsplash.com/random/1280x720/?backgrounds/";
let name = "/tmp/unwp/bg.png";
let down = Download::new(_url, Some(name),None);
match down.download() {
Ok(_) => println!("Изображение успешно скачано!"),
Err(_e) => println!("Не удалось скачать изображение :("),
};
}
async fn fhd() {
let _url = "https://source.unsplash.com/random/1920x1080/?backgrounds/";
let name = "/tmp/unwp/bg.png";
let down = Download::new(_url, Some(name),None);
match down.download() {
Ok(_) => println!("Изображение успешно скачано!"),
Err(_e) => println!("Не удалось скачать изображение :("),
};
}
async fn qhd() {
let _url = "https://source.unsplash.com/random/3840x1440/?backgrounds/";
let name = "/tmp/unwp/bg.png";
let down = Download::new(_url, Some(name),None);
match down.download() {
Ok(_) => println!("Изображение успешно скачано!"),
Err(_e) => println!("Не удалось скачать изображение :("),
};
}
async fn uhd() {
let _url = "https://source.unsplash.com/random/7680x4320/?backgrounds/";
let name = "/tmp/unwp/bg.png";
let down = Download::new(_url, Some(name),None);
match down.download() {
Ok(_) => println!("Изображение успешно скачано!"),
Err(_e) => println!("Не удалось скачать изображение :("),
};
}
async fn set() {
wallpaper::set_from_path("/tmp/unwp/bg.png");
wallpaper::set_mode(wallpaper::Mode::Fit);
fs::remove_dir("/tmp/unwp");
}
async fn hdd() {
let a = cr();
let b = hd();
let c = set();
futures::join!(a, b, c);
}
async fn fhdd() {
let a = cr();
let b = fhd();
let c = set();
futures::join!(a, b, c);
}
async fn qhdd() {
let a = cr();
let b = qhd();
let c = set();
futures::join!(a, b, c);
}
async fn uhdd() {
let a = cr();
let b = uhd();
let c = set();
futures::join!(a, b, c);
}

36
src/setwp.rs Normal file
View File

@@ -0,0 +1,36 @@
use std::{thread::sleep, fs, time::{Duration, Instant}};
use download_rs::async_download::Download;
use wallpaper;
pub static FILENAME: &str = "/tmp/unwp/bg.png";
pub fn download(url: &mut String) {
url.push_str("/?background/");
let d = Download::new(&url, Some(FILENAME),None); match d.download() {
Ok(_) => { println!("[ OK ]"); set() },
Err(_e) => { println!("[ !! ]"); loop {
match d.download() {
Ok(_) => { println!("[ OK ]"); break; },
Err(_e) => {
let _ = Instant::now();
sleep(Duration::new(5, 5));
println!("[ !! ]");
continue;
},
};
}
},
};
}
pub fn set() {
let _ = wallpaper::set_from_path(FILENAME);
let _ = wallpaper::set_mode(wallpaper::Mode::Fit);
let _ = Instant::now(); sleep(Duration::new(3600, 3600));
del()
}
pub fn del() {
let _ = fs::remove_file(FILENAME);
}