parse-timelogs-for-upload/settings.py

55 lines
1.5 KiB
Python
Raw Normal View History

2021-05-02 22:27:51 +00:00
#!/usr/bin/env python3
import configparser
import json
2021-05-02 22:27:51 +00:00
import os
import sys
2021-05-02 22:27:51 +00:00
config = configparser.ConfigParser()
config['pomodoro'] = {}
pomodoro = config['pomodoro']
config['harvest'] = {}
harvest = config['harvest']
2021-05-02 22:27:51 +00:00
def write():
with open('settings.ini', 'w') as configfile:
config.write(configfile)
2021-05-02 22:27:51 +00:00
if not os.path.isfile('settings.ini'):
# Set some essential initial values.
# pomodoro['logfile'] = '~/Projects/agaric/python/pomodoroprompt/log/timelog.csv'
pomodoro['logfile'] = ''
# This path must be absolute, for some reason using ~ for home isn't working:
pomodoro['logpath'] = '~/Projects/python/pomodoroprompt/log/'
2021-05-03 00:30:14 +00:00
write()
2021-05-02 22:27:51 +00:00
config.read('settings.ini')
2021-05-03 00:30:14 +00:00
2021-05-02 22:27:51 +00:00
def pomodoro_logfile():
return config['pomodoro']['logfile']
def pomodoro_logpath():
return config['pomodoro']['logpath']
def pomodoro_latest_recorded(timestamp = None):
if timestamp:
config.set('pomodoro', 'second_latest_recorded', pomodoro.get('latest_recorded', None))
config.set('pomodoro', 'latest_recorded', str(timestamp))
2021-05-03 00:30:14 +00:00
write()
2021-05-02 22:27:51 +00:00
else:
2021-05-03 00:30:14 +00:00
return pomodoro.get('latest_recorded', None)
def harvest_set_projects_clients_map(projects_clients_map = {}):
config.set('harvest', 'projects_clients', json.dumps(projects_clients_map))
write()
def harvest_get_projects_clients_map():
if 'projects_clients' in harvest:
return json.loads(harvest['projects_clients'])
else:
sys.exit("No project clients available; run fetch_clients_projects.py")