summaryrefslogtreecommitdiff
path: root/datetimes
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2020-04-21 02:51:02 -0700
committerBen Sima <ben@bsima.me>2020-06-05 14:00:35 -0700
commit41c6d3433a6b3da80cb00177efdf3f83896e7c55 (patch)
tree39895e31c795976a48af803b2264c5531170ba05 /datetimes
parente0f4ca7d52ff781b4c4ae3adc7da1c323e1f7051 (diff)
Finish datetimes script
Diffstat (limited to 'datetimes')
-rwxr-xr-x[-rw-r--r--]datetimes19
1 files changed, 12 insertions, 7 deletions
diff --git a/datetimes b/datetimes
index 0dd814a..b0d44cc 100644..100755
--- a/datetimes
+++ b/datetimes
@@ -6,7 +6,9 @@ linenumber are written to stderr.
"""
from datetime import datetime
import argparse
+import fileinput
import re
+import sys
COMMENT = {
"": ("#", None), # default
@@ -27,7 +29,7 @@ def find_datetime(line):
"""
m = REGEX.match(line)
if m:
- return m.group(1)
+ return int(m.group(1))
else:
return None
@@ -43,17 +45,20 @@ cli.add_argument(
cli.add_argument(
"-d",
"--dry",
+ action="store_true",
help="dry run, don't actually write to files, but print what would happen",
)
args = cli.parse_args()
for line in fileinput.input(files=args.files, inplace=True):
# python3.8: use := operator here
- (found, fmt) = find_datetime(line)
+ found = find_datetime(line)
if found:
sys.stderr.write(f"{fileinput.filename()}:{fileinput.lineno()}\n")
- human = datetime.strptime(found, "%s").strftime("%Y-%m-%d %H:%M")
- ext = fileinput.filename().split(".")[1]
- (left, right) = comment[ext]
- if not args.dry:
- print(f"{line} {left} {human} {empty(right)}", end="")
+ human = datetime.fromtimestamp(found).strftime("%Y-%m-%d %H:%M")
+ ext = fileinput.filename().split(".")[-1]
+ (left, right) = COMMENT[ext]
+ if args.dry:
+ print(line, end="")
+ else:
+ print(f"{line.strip()} {left} {human} {empty(right)}", end="")