]>
us-delaporte.pagekite.me Git - minion.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
]
29 with open(file, 'r') as f
:
30 reader
= csv
.reader(f
, delimiter
=',', quotechar
='"')
31 fields
= next(reader
) # require header row
33 example_rows
.append(next(reader
))
35 DATE_FORMAT
= '%Y-%m-%d'
38 return dt
.now().strftime(DATE_FORMAT
)
45 user_input
= input(f
"{key} [{default}]\n").strip() or default
47 print(f
"Examples for {key}:")
48 first_example
= example_rows
[0]
49 last_example
= example_rows
[-1]
50 print(f
"Example: {first_example[fields.index(key)]} ... {last_example[fields.index(key)]}")
51 user_input
= input(f
"{key} [{default}]\n").strip() or default
53 values
[key
] = user_input
55 print("Break with Ctrl+C if incorrect:")
57 input() # Assume break with Ctrl+C if incorrect
59 with open(file, 'a') as f
:
60 writer
= csv
.DictWriter(f
, fields
)
61 writer
.writerow(values
)
62 print(f
"Updated {file}")