]> apps.delaporte.us Git - dotfiles.git/blob - bin/clerk
Add default date of today
[dotfiles.git] / bin / clerk
1 #!/usr/bin/python
2
3 import csv
4 from datetime import datetime as dt
5 import os
6
7 DATA_DIR=os.path.expanduser('~/Journal/2026/data')
8
9 data_files = {}
10 os.path.expanduser('~/Journal/2026/data')
11 for root, _, files in os.walk(DATA_DIR):
12 for file in files:
13 name, ext = os.path.splitext(file)
14 if ext == '.csv':
15 data_files[name] = os.path.join(root, file)
16
17 print(data_files.keys())
18 choice = input()
19
20 file = data_files[choice]
21
22 print(file)
23
24 with open(file, 'r') as f:
25 reader = csv.reader(f, delimiter=',', quotechar='"')
26 fields = next(reader) # require header row
27 example = next(reader)
28
29 print(example)
30
31
32 DATE_FORMAT = '%Y-%m-%d'
33
34 def today():
35 return dt.now().strftime(DATE_FORMAT)
36
37 values = {}
38 for key in fields:
39 default = ''
40 if key == 'date':
41 default = today()
42 values[key] = input(f"{key} [{default}]\n").strip() or default
43
44 print("Break with Ctrl+C if incorrect:")
45 print(values)
46 input() # Assume break with Ctrl+C if incorrect
47
48 with open(file, 'a') as f:
49 writer = csv.DictWriter(f, fields)
50 writer.writerow(values)
51 print(f"Updated {file}")
52
53