Init and config file handling added.
5 Author: Eugen Sawin (sawine@me73.com)
18 from win32com.shell import shellcon, shell
19 HOMEDIR = shell.SHGetFolderPath(0, shellcon.CSIDL_LOCAL_APPDATA, 0, 0)
20 except ImportError: # Linux
21 HOMEDIR = os.path.expanduser("~")
23 CONFIG_FILE = "%s/.cronrecrc" % HOMEDIR
27 with open(CONFIG_FILE, "r") as config_stream:
28 config_lines = [l.split(CONFIG_SEP) for l in config_stream.readlines()
30 for key, value in config_lines:
31 key = key.strip().lower()
34 config[key] = CONFIG[key](value)
37 def write_config(config):
38 with open(CONFIG_FILE, "w") as config_input:
39 config_input.write("\n".join([CONFIG_SEP.join((k, v))
40 for k, v in config.iteritems() if k in CONFIG]))
46 config[WD] = args.dbpath
48 if last_wd != config[WD]:
49 print "Changed working directory from %s to %s" % (last_wd, config[WD])
51 print "Set new working directory to %s" % (config[WD])
53 print "Working directory remains at %s" % config[WD]
61 if __name__ == "__main__":
62 config = read_config()
63 parser = argparse.ArgumentParser(description="Records time.")
64 subs = parser.add_subparsers()
65 sub_begin = subs.add_parser("init")
66 sub_begin.add_argument("dbpath")
67 sub_begin.set_defaults(func=init)
69 sub_begin = subs.add_parser("begin")
70 sub_begin.add_argument("label")
71 sub_begin.set_defaults(func=begin)
73 sub_end = subs.add_parser("end")
74 sub_end.add_argument("label")
75 sub_end.set_defaults(func=end)
77 args = parser.parse_args()