Use RFC2822 date formatting in `log`, `tag`, and `record --timestamp`
[?]
7qFsmcJTAmyi5DxiNk265yTyKeTGNeoqjQfzksWAeGkH
Nov 7, 2022, 4:18 AM
BPCAJCLTVK2GVWYURWJTPQ6XA34JUJZNZHG6ONX4ARM3QPJJ6UPQCDependencies
- [2]
3FTEGCMRadd timestamp_validator to tag --timestamp option - [3]
F2S6XETOFixing log --hash-only - [4]
E6IKUIPDCommand to delete a tag - [5]
QL6K2ZM3Tags - [6]
4H2XTVJ2Fix some mistakes in the docs - [7]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [8]
OU6JOR3CAdd path filtering for log, add json output for log - [9]
GUL4M5FICleanup and formatting - [10]
NS36CJCOValidating timestamps in record
Change contents
- replacement in pijul/src/commands/tag.rs at line 4
use crate::commands::record::timestamp_validator;use crate::commands::record::parse_datetime_rfc2822; - replacement in pijul/src/commands/tag.rs at line 42
#[clap(long = "timestamp", validator = timestamp_validator)]#[clap(long = "timestamp", value_parser = parse_datetime_rfc2822)] - replacement in pijul/src/commands/record.rs at line 37
#[clap(long = "timestamp", validator = timestamp_validator)]#[clap(long = "timestamp", value_parser = parse_datetime_rfc2822)] - replacement in pijul/src/commands/record.rs at line 52[4.102760]→[2.121:194](∅→∅),[2.194]→[4.128:230](∅→∅),[4.128]→[4.128:230](∅→∅),[4.230]→[4.314:341](∅→∅),[4.341]→[4.256:266](∅→∅),[4.256]→[4.256:266](∅→∅)
pub(crate) fn timestamp_validator(s: &str) -> Result<(), &'static str> {if let Ok(t) = s.parse() {if chrono::NaiveDateTime::from_timestamp_opt(t, 0).is_some() {return Ok(());}pub(crate) fn parse_datetime_rfc2822(s: &str) -> Result<i64, &'static str> {if let Ok(ts) = chrono::DateTime::parse_from_rfc2822(s) {return Ok(ts.timestamp()) - replacement in pijul/src/commands/log.rs at line 236
writeln!(f, "Date: {}", timestamp)?;writeln!(f, "Date: {}", timestamp.to_rfc2822())?;