Compare commits
2 Commits
9fa0d7ad59
...
4ab9416c8d
| Author | SHA1 | Date | |
|---|---|---|---|
| 4ab9416c8d | |||
| 2f62ec53d6 |
@ -16,9 +16,9 @@ use walkdir::WalkDir;
|
|||||||
#[derive(Parser, Debug)]
|
#[derive(Parser, Debug)]
|
||||||
#[command(author, version, about, long_about = None)]
|
#[command(author, version, about, long_about = None)]
|
||||||
struct Args {
|
struct Args {
|
||||||
/// Number years to search through
|
/// Number days to search through
|
||||||
#[arg(short, long, default_value_t = 1)]
|
#[arg(short, long, default_value_t = 365)]
|
||||||
years: usize,
|
days: i64,
|
||||||
|
|
||||||
/// Enable verbose logging
|
/// Enable verbose logging
|
||||||
#[arg(short, long, default_value_t = false)]
|
#[arg(short, long, default_value_t = false)]
|
||||||
@ -38,9 +38,8 @@ struct Args {
|
|||||||
|
|
||||||
fn main() -> anyhow::Result<()> {
|
fn main() -> anyhow::Result<()> {
|
||||||
let args = Args::parse();
|
let args = Args::parse();
|
||||||
let n = 1;
|
// Just check messages from the last N days.
|
||||||
// Just check messages from the last N years.
|
let max_age = 60 * 60 * 24 * args.days;
|
||||||
let max_age = 60 * 60 * 24 * 365 * n;
|
|
||||||
let start = std::time::Instant::now();
|
let start = std::time::Instant::now();
|
||||||
let unix_secs = SystemTime::now()
|
let unix_secs = SystemTime::now()
|
||||||
.duration_since(UNIX_EPOCH)
|
.duration_since(UNIX_EPOCH)
|
||||||
|
|||||||
@ -2,7 +2,7 @@ use std::fs::File;
|
|||||||
|
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use email::fingerprint;
|
use email::fingerprint;
|
||||||
use mailparse::parse_mail;
|
use mailparse::{parse_mail, MailHeaderMap};
|
||||||
use memmap::MmapOptions;
|
use memmap::MmapOptions;
|
||||||
|
|
||||||
/// Use library to summarize information about given mail files
|
/// Use library to summarize information about given mail files
|
||||||
@ -19,7 +19,11 @@ fn main() -> anyhow::Result<()> {
|
|||||||
let file = File::open(&path)?;
|
let file = File::open(&path)?;
|
||||||
let mmap = unsafe { MmapOptions::new().map(&file)? };
|
let mmap = unsafe { MmapOptions::new().map(&file)? };
|
||||||
let m = parse_mail(&mmap)?;
|
let m = parse_mail(&mmap)?;
|
||||||
println!("{path}\n{}", fingerprint(&m).join("\n"));
|
let subject = m
|
||||||
|
.headers
|
||||||
|
.get_first_value("subject")
|
||||||
|
.unwrap_or("(NO SUBJECT)".to_owned());
|
||||||
|
println!("{subject}: {path}\n{}", fingerprint(&m).join("\n"));
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user