# HG changeset patch # User Eugen Sawin # Date 1286320714 -7200 # Node ID 28c80ae695dc2cc04adb4d4e7665f9cdc5d5df87 # Parent 8a99ccb993618b44b37ddf5e451337be039d1b02 Added set customer command. diff -r 8a99ccb99361 -r 28c80ae695dc cronrec.py --- a/cronrec.py Tue Oct 05 15:38:38 2010 +0200 +++ b/cronrec.py Wed Oct 06 01:18:34 2010 +0200 @@ -16,7 +16,7 @@ WD = "working_path" CONFIG = {WD: str} CONFIG_SEP = "=" -DB_FILE = "cronrec.db" +DB_FILE = "tim.db" config = {} @@ -27,7 +27,7 @@ except ImportError: # Linux (hopefully) HOMEDIR = os.path.expanduser("~") -CONFIG_FILE = "%s/.cronrecrc" % HOMEDIR +CONFIG_FILE = "%s/.timrc" % HOMEDIR DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S" @@ -122,6 +122,10 @@ db.pause(db_file(), begin) db.resume(db_file(), db.find_active_task(db_file(), begin), end, log) +def set_customer(args): + db.update_where(db_file(), "projects", "name", args.project, "customer", + args.customer) + def status(args): task = db.status(db_file()) if task: @@ -137,41 +141,49 @@ subs = parser.add_subparsers() sub_init = subs.add_parser("init") - sub_init.add_argument("working_path", type=str) + sub_init.add_argument("working_path") sub_init.set_defaults(func=init) sub_begin = subs.add_parser("begin") - sub_begin.add_argument("label", type=str) + sub_begin.add_argument("label") sub_begin.set_defaults(func=begin) sub_end = subs.add_parser("end") - sub_end.add_argument("label", type=str, nargs="?", default="all:all") - sub_end.add_argument("-m", type=str) + sub_end.add_argument("label", nargs="?", default="all:all") + sub_end.add_argument("-m") sub_end.set_defaults(func=end) sub_pause = subs.add_parser("pause") sub_pause.set_defaults(func=pause) sub_resume = subs.add_parser("resume") - sub_resume.add_argument("-m", type=str) + sub_resume.add_argument("-m") sub_resume.set_defaults(func=resume) sub_add = subs.add_parser("add") sub_add_subs = sub_add.add_subparsers() sub_add_task = sub_add_subs.add_parser("task") - sub_add_task.add_argument("label", type=str) - sub_add_task.add_argument("begin", type=str) - sub_add_task.add_argument("end", type=str) - sub_add_task.add_argument("-m", type=str) + sub_add_task.add_argument("label") + sub_add_task.add_argument("begin") + sub_add_task.add_argument("end") + sub_add_task.add_argument("-m") sub_add_task.set_defaults(func=add_task) sub_add_break = sub_add_subs.add_parser("break") - sub_add_break.add_argument("begin", type=str) - sub_add_break.add_argument("end", type=str) - sub_add_break.add_argument("-m", type=str) + sub_add_break.add_argument("begin") + sub_add_break.add_argument("end") + sub_add_break.add_argument("-m") sub_add_break.set_defaults(func=add_break) + sub_set = subs.add_parser("set") + sub_set_subs = sub_set.add_subparsers() + + sub_set_customer = sub_set_subs.add_parser("customer") + sub_set_customer.add_argument("project") + sub_set_customer.add_argument("customer") + sub_set_customer.set_defaults(func=set_customer) + sub_status = subs.add_parser("status") sub_status.set_defaults(func=status) diff -r 8a99ccb99361 -r 28c80ae695dc db.py --- a/db.py Tue Oct 05 15:38:38 2010 +0200 +++ b/db.py Wed Oct 06 01:18:34 2010 +0200 @@ -93,6 +93,15 @@ con.commit() cur.close() +def update_where(db_file, table, dep_column, dep_value, set_column, set_value): + con, cur = session(db_file) + values = (set_value, dep_value) + sql = "update %s set %s=? where %s=?" % (table, set_column, dep_column) + cur.execute(sql, values) + con.commit() + cur.close() + test(db_file) + def find_last_project(db_file, time): con, cur = session(db_file) values = (time,)