Загрузил(а) файлы в 'src'
This commit is contained in:
152
src/main.rs
152
src/main.rs
@@ -1,143 +1,31 @@
|
||||
use futures::executor::block_on;
|
||||
use std::time::{Duration, Instant};
|
||||
use std::thread::sleep;
|
||||
use std::env;
|
||||
mod setwp;
|
||||
use std::fs;
|
||||
use download_rs::async_download::Download;
|
||||
use wallpaper;
|
||||
|
||||
|
||||
fn main() {
|
||||
for arg in env::args() {
|
||||
for _ in 0..24 {
|
||||
setwp::del();
|
||||
let _ = fs::create_dir_all("/tmp/unwp").expect("Программе не удалось создать временный каталог для её работы.");
|
||||
let mut base_url = "https://source.unsplash.com/random/".to_string();
|
||||
|
||||
for arg in std::env::args() {
|
||||
if arg == "hd" {
|
||||
loop {
|
||||
let b = hdd();
|
||||
block_on(b);
|
||||
|
||||
let _f = Instant::now();
|
||||
sleep(Duration::new(3600, 3600));
|
||||
}
|
||||
let irl: &mut String = &mut base_url;
|
||||
irl.push_str("1280x720");
|
||||
setwp::download(irl);
|
||||
} else if arg == "fhd" {
|
||||
loop {
|
||||
let b = fhdd();
|
||||
block_on(b);
|
||||
|
||||
let _f = Instant::now();
|
||||
sleep(Duration::new(3600, 3600));
|
||||
}
|
||||
let irl: &mut String = &mut base_url;
|
||||
irl.push_str("1920x1080");
|
||||
setwp::download(irl);
|
||||
} else if arg == "qhd" {
|
||||
loop {
|
||||
let b = qhdd();
|
||||
block_on(b);
|
||||
|
||||
let _f = Instant::now();
|
||||
sleep(Duration::new(3600, 3600));
|
||||
}
|
||||
let irl: &mut String = &mut base_url;
|
||||
irl.push_str("3840x2160");
|
||||
setwp::download(irl);
|
||||
} else if arg == "uhd" {
|
||||
loop {
|
||||
let b = uhdd();
|
||||
block_on(b);
|
||||
|
||||
let _f = Instant::now();
|
||||
sleep(Duration::new(3600, 3600));
|
||||
let irl: &mut String = &mut base_url;
|
||||
irl.push_str("7680x4320");
|
||||
setwp::download(irl);
|
||||
}
|
||||
}
|
||||
} 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
36
src/setwp.rs
Normal 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);
|
||||
}
|
Reference in New Issue
Block a user