]>
us-delaporte.pagekite.me Git - dotfiles.git/blob - bin/clerk
4 from datetime
import datetime
as dt
7 DATA_DIR
=os
.path
.expanduser('~/Journal/2026/Data')
10 for root
, _
, files
in os
.walk(DATA_DIR
):
12 name
, ext
= os
.path
.splitext(file)
14 data_files
[name
] = os
.path
.join(root
, file)
16 print(data_files
.keys())
17 for idx
, file in enumerate(data_files
.keys()):
18 print(f
"{idx} - {file}")
20 user_input
= input(f
"Select a file:\n").strip() or default
21 key
= list(data_files
.keys())[int(user_input
)]
23 file = data_files
[key
]
27 with open(file, 'r') as f
:
28 reader
= csv
.reader(f
, delimiter
=',', quotechar
='"')
29 fields
= next(reader
) # require header row
30 first_example
= next(reader
)
32 last_example
= next(reader
)
39 DATE_FORMAT
= '%Y-%m-%d'
42 return dt
.now().strftime(DATE_FORMAT
)
49 user_input
= input(f
"{key} [{default}]\n").strip() or default
51 print(f
"Example: {first_example[fields.index(key)]} ... {last_example[fields.index(key)]}")
52 user_input
= input(f
"{key} [{default}]\n").strip() or default
54 values
[key
] = user_input
56 print("Break with Ctrl+C if incorrect:")
58 input() # Assume break with Ctrl+C if incorrect
60 with open(file, 'a') as f
:
61 writer
= csv
.DictWriter(f
, fields
)
62 writer
.writerow(values
)
63 print(f
"Updated {file}")