diff options
author | euxane | 2024-11-30 09:58:49 +0100 |
---|---|---|
committer | euxane | 2024-11-30 09:58:49 +0100 |
commit | 903306030f59554ff6fd73146fd30c2330504358 (patch) | |
tree | 2c6063901e45b576100d6c312a68f453ef7b9dc7 /main.nim | |
parent | dc2ec09d6d29913d696f0ea9dc5d035542c792e8 (diff) | |
download | tickwatch-903306030f59554ff6fd73146fd30c2330504358.tar.gz |
cli: add option for timestamp line header format
Diffstat (limited to 'main.nim')
-rw-r--r-- | main.nim | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -37,6 +37,7 @@ proc main() = | |||
37 | var | 37 | var |
38 | scale: Scale = log2 | 38 | scale: Scale = log2 |
39 | symbols = UNICODE_SYMBOLS | 39 | symbols = UNICODE_SYMBOLS |
40 | timestampHeader = formatTimestampDateTime | ||
40 | (min, max) = (0, 1000) | 41 | (min, max) = (0, 1000) |
41 | probe: (timeout: Duration) -> int | 42 | probe: (timeout: Duration) -> int |
42 | 43 | ||
@@ -66,6 +67,12 @@ proc main() = | |||
66 | of "unicode", "utf8", "utf-8": symbols = UNICODE_SYMBOLS | 67 | of "unicode", "utf8", "utf-8": symbols = UNICODE_SYMBOLS |
67 | of "numeric", "ascii": symbols = NUMERIC_SYMBOLS | 68 | of "numeric", "ascii": symbols = NUMERIC_SYMBOLS |
68 | 69 | ||
70 | of "timestamp": | ||
71 | case val: | ||
72 | of "datetime", "date-time": timestampHeader = formatTimestampDateTime | ||
73 | of "unix", "epoch": timestampHeader = formatTimestampUnix | ||
74 | of "none", "false": timestampHeader = formatTimestampNone | ||
75 | |||
69 | of "range": | 76 | of "range": |
70 | let parts = val.split(':', 1) | 77 | let parts = val.split(':', 1) |
71 | if parts.len != 2: raise newException(ValueError, "Invalid range") | 78 | if parts.len != 2: raise newException(ValueError, "Invalid range") |
@@ -87,7 +94,11 @@ proc main() = | |||
87 | if probe == nil: | 94 | if probe == nil: |
88 | raise newException(ValueError, "Missing monitor argument") | 95 | raise newException(ValueError, "Missing monitor argument") |
89 | 96 | ||
90 | loop(probe, (val: int) => symbols.indicator(min, max, val, scale)) | 97 | loop( |
98 | probe, | ||
99 | (val: int) => symbols.indicator(min, max, val, scale), | ||
100 | timestampHeader, | ||
101 | ) | ||
91 | 102 | ||
92 | 103 | ||
93 | when not defined(test): | 104 | when not defined(test): |