Rotate csv annually, put it in log directory with backup text log
This commit is contained in:
parent
308a284fce
commit
926af1ed48
2 changed files with 19 additions and 8 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,2 +1,2 @@
|
||||||
log/*.log
|
log/*.log
|
||||||
timelog.csv
|
log/*.csv
|
||||||
|
|
|
@ -53,12 +53,7 @@ def quit_prompt():
|
||||||
def log_step(text, utc_start, end_section=False):
|
def log_step(text, utc_start, end_section=False):
|
||||||
""" Write detailed log of all events
|
""" Write detailed log of all events
|
||||||
"""
|
"""
|
||||||
eastern = timezone('US/Eastern')
|
timelog_file = Path(timelog_path(ext='log', daily=True))
|
||||||
start = utc_start.astimezone(eastern)
|
|
||||||
timelog_path = 'log/' + str(start.year) + '-' \
|
|
||||||
+ format(start.month, '02') + '-' \
|
|
||||||
+ format(start.day, '02') + '.log'
|
|
||||||
timelog_file = Path(timelog_path)
|
|
||||||
timelog_file.touch(exist_ok=True)
|
timelog_file.touch(exist_ok=True)
|
||||||
with timelog_file.open('a') as timelog:
|
with timelog_file.open('a') as timelog:
|
||||||
timelog.write(text + '\n')
|
timelog.write(text + '\n')
|
||||||
|
@ -71,7 +66,7 @@ def record_task(whatnext, whatdid, start, end=None):
|
||||||
"""
|
"""
|
||||||
if end is None:
|
if end is None:
|
||||||
end = datetime.now(pytz.utc)
|
end = datetime.now(pytz.utc)
|
||||||
with open('log/timelog.csv', 'a', newline='') as csvfile:
|
with open(prepare_file(), 'a', newline='') as csvfile:
|
||||||
# TODO make first line started, recorded, description, intention
|
# TODO make first line started, recorded, description, intention
|
||||||
timewriter = csv.writer(csvfile)
|
timewriter = csv.writer(csvfile)
|
||||||
timewriter.writerow([start, end, whatdid, whatnext])
|
timewriter.writerow([start, end, whatdid, whatnext])
|
||||||
|
@ -89,6 +84,22 @@ def countdown_to(until):
|
||||||
print('\r', str_minutes(to_go), sep='', end='')
|
print('\r', str_minutes(to_go), sep='', end='')
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
|
def prepare_file(ext='csv', daily=False, utc_start):
|
||||||
|
# Ensure log directory exists.
|
||||||
|
if not os.path.exists('log'):
|
||||||
|
os.makedirs('log')
|
||||||
|
# We consider 3am the switchover to a new day, so we skip extra math
|
||||||
|
# and use Pacific time to get three hours later than our Eastern time.
|
||||||
|
logpath_tz = timezone('US/Pacific')
|
||||||
|
logpath_date = utc_start.astimezone(logpath_tz)
|
||||||
|
timelog_path = 'log/' + str(logpath_date.year);
|
||||||
|
if (daily):
|
||||||
|
timelog_path += '-' \
|
||||||
|
+ format(logpath_date.month, '02') + '-' \
|
||||||
|
+ format(logpath_date.day, '02') + '.log'
|
||||||
|
timelog_path += '.' + ext
|
||||||
|
return timelog_path
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
whatdid = ''
|
whatdid = ''
|
||||||
while True:
|
while True:
|
||||||
|
|
Loading…
Reference in a new issue