yolo
This commit is contained in:
parent
8ddfd41fa6
commit
544877aed8
4 changed files with 25 additions and 16 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -88,7 +88,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "garbage"
|
||||
version = "0.1.3"
|
||||
version = "0.1.4"
|
||||
dependencies = [
|
||||
"anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "garbage"
|
||||
version = "0.1.3"
|
||||
version = "0.1.4"
|
||||
authors = ["Michael Zhang <iptq@protonmail.com>"]
|
||||
description = "cli tool for interacting with the freedesktop trashcan"
|
||||
license = "MIT"
|
||||
|
|
33
src/main.rs
33
src/main.rs
|
@ -5,7 +5,7 @@ use std::fs;
|
|||
use std::io;
|
||||
use std::path::PathBuf;
|
||||
|
||||
use anyhow::Error;
|
||||
use anyhow::Result;
|
||||
use structopt::StructOpt;
|
||||
|
||||
use garbage::*;
|
||||
|
@ -46,15 +46,12 @@ enum Command {
|
|||
Restore,
|
||||
}
|
||||
|
||||
fn main() -> Result<(), Error> {
|
||||
fn run() -> Result<()> {
|
||||
env_logger::init();
|
||||
|
||||
let cmd = Command::from_args();
|
||||
match cmd {
|
||||
Command::Empty { dry, days } => match ops::empty(dry, days) {
|
||||
Ok(_) => (),
|
||||
Err(err) => eprintln!("error: {:?}", err),
|
||||
},
|
||||
Command::Empty { dry, days } => ops::empty(dry, days),
|
||||
Command::List => {
|
||||
let home_trash = TrashDir::get_home_trash();
|
||||
let mut files = home_trash
|
||||
|
@ -72,12 +69,13 @@ fn main() -> Result<(), Error> {
|
|||
for info in files {
|
||||
println!("{}\t{}", info.deletion_date, info.path.to_str().unwrap());
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
Command::Put {
|
||||
paths, recursive, force
|
||||
} => {
|
||||
ops::put(paths, recursive);
|
||||
}
|
||||
paths,
|
||||
recursive,
|
||||
force,
|
||||
} => ops::put(paths, recursive),
|
||||
Command::Restore => {
|
||||
let home_trash = TrashDir::get_home_trash();
|
||||
let mut files = home_trash
|
||||
|
@ -114,8 +112,19 @@ fn main() -> Result<(), Error> {
|
|||
}
|
||||
_ => println!("Invalid number."),
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
match run() {
|
||||
Ok(_) => (),
|
||||
Err(err) => {
|
||||
eprintln!("Error: {:?}", err);
|
||||
for cause in err.chain() {
|
||||
eprintln!("- {:?}", cause);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
use std::fs;
|
||||
|
||||
use anyhow::Error;
|
||||
use anyhow::Result;
|
||||
use chrono::{Duration, Local};
|
||||
|
||||
use crate::TrashDir;
|
||||
use crate::TrashInfo;
|
||||
|
||||
pub fn empty(dry: bool, days: Option<u32>) -> Result<(), Error> {
|
||||
pub fn empty(dry: bool, days: Option<u32>) -> Result<()> {
|
||||
let home_trash = TrashDir::get_home_trash();
|
||||
let cutoff = if let Some(days) = days {
|
||||
Local::now() - Duration::days(days.into())
|
||||
|
|
Loading…
Reference in a new issue