1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#[macro_use]
extern crate serde_derive;
use std::time::SystemTime;
use log::error;
use std::process;
pub mod args;
pub mod stats;
pub mod store;
#[derive(Debug)]
pub enum SortMethod {
Recent,
Frequent,
Frecent,
}
pub fn current_time_secs() -> f64 {
match SystemTime::now().duration_since(SystemTime::UNIX_EPOCH) {
Ok(n) => (n.as_secs() as u128 * 1000 + n.subsec_millis() as u128) as f64 / 1000.0,
Err(e) => {
error!("invalid system time: {}", e);
process::exit(1);
}
}
}
#[macro_export]
macro_rules! error_and_exit {
($($arg:tt)*) => {
{
error!($($arg)*);
::std::process::exit(1);
}
};
}