Added set customer command.
authorEugen Sawin <sawine@me73.com>
Wed, 06 Oct 2010 01:18:34 +0200
changeset 1228c80ae695dc
parent 11 8a99ccb99361
child 13 4ef9c2142059
Added set customer command.
cronrec.py
db.py
     1.1 --- a/cronrec.py	Tue Oct 05 15:38:38 2010 +0200
     1.2 +++ b/cronrec.py	Wed Oct 06 01:18:34 2010 +0200
     1.3 @@ -16,7 +16,7 @@
     1.4  WD = "working_path"
     1.5  CONFIG = {WD: str}
     1.6  CONFIG_SEP = "="
     1.7 -DB_FILE = "cronrec.db"
     1.8 +DB_FILE = "tim.db"
     1.9  
    1.10  config = {}
    1.11  
    1.12 @@ -27,7 +27,7 @@
    1.13  except ImportError: # Linux (hopefully)
    1.14  	HOMEDIR = os.path.expanduser("~")
    1.15  
    1.16 -CONFIG_FILE = "%s/.cronrecrc" % HOMEDIR
    1.17 +CONFIG_FILE = "%s/.timrc" % HOMEDIR
    1.18  
    1.19  DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S"
    1.20  
    1.21 @@ -122,6 +122,10 @@
    1.22  	db.pause(db_file(), begin)
    1.23  	db.resume(db_file(), db.find_active_task(db_file(), begin), end, log)
    1.24  
    1.25 +def set_customer(args):
    1.26 +	db.update_where(db_file(), "projects", "name", args.project, "customer", 
    1.27 +				args.customer)
    1.28 +
    1.29  def status(args):
    1.30  	task = db.status(db_file())
    1.31  	if task:
    1.32 @@ -137,41 +141,49 @@
    1.33  	subs = parser.add_subparsers()
    1.34  
    1.35  	sub_init = subs.add_parser("init")
    1.36 -	sub_init.add_argument("working_path", type=str)
    1.37 +	sub_init.add_argument("working_path")
    1.38  	sub_init.set_defaults(func=init)
    1.39  
    1.40  	sub_begin = subs.add_parser("begin")
    1.41 -	sub_begin.add_argument("label", type=str)
    1.42 +	sub_begin.add_argument("label")
    1.43  	sub_begin.set_defaults(func=begin)
    1.44  
    1.45  	sub_end = subs.add_parser("end")
    1.46 -	sub_end.add_argument("label", type=str, nargs="?", default="all:all")
    1.47 -	sub_end.add_argument("-m", type=str)
    1.48 +	sub_end.add_argument("label", nargs="?", default="all:all")
    1.49 +	sub_end.add_argument("-m")
    1.50  	sub_end.set_defaults(func=end)
    1.51  
    1.52  	sub_pause = subs.add_parser("pause")
    1.53  	sub_pause.set_defaults(func=pause)
    1.54  
    1.55  	sub_resume = subs.add_parser("resume")
    1.56 -	sub_resume.add_argument("-m", type=str)
    1.57 +	sub_resume.add_argument("-m")
    1.58  	sub_resume.set_defaults(func=resume)
    1.59  
    1.60  	sub_add = subs.add_parser("add")
    1.61  	sub_add_subs = sub_add.add_subparsers()
    1.62  
    1.63  	sub_add_task = sub_add_subs.add_parser("task")
    1.64 -	sub_add_task.add_argument("label", type=str)
    1.65 -	sub_add_task.add_argument("begin", type=str)
    1.66 -	sub_add_task.add_argument("end", type=str)
    1.67 -	sub_add_task.add_argument("-m", type=str)
    1.68 +	sub_add_task.add_argument("label")
    1.69 +	sub_add_task.add_argument("begin")
    1.70 +	sub_add_task.add_argument("end")
    1.71 +	sub_add_task.add_argument("-m")
    1.72  	sub_add_task.set_defaults(func=add_task)
    1.73  	
    1.74  	sub_add_break = sub_add_subs.add_parser("break")
    1.75 -	sub_add_break.add_argument("begin", type=str)
    1.76 -	sub_add_break.add_argument("end", type=str)
    1.77 -	sub_add_break.add_argument("-m", type=str)
    1.78 +	sub_add_break.add_argument("begin")
    1.79 +	sub_add_break.add_argument("end")
    1.80 +	sub_add_break.add_argument("-m")
    1.81  	sub_add_break.set_defaults(func=add_break)
    1.82  
    1.83 +	sub_set = subs.add_parser("set")
    1.84 +	sub_set_subs = sub_set.add_subparsers()
    1.85 +
    1.86 +	sub_set_customer = sub_set_subs.add_parser("customer")
    1.87 +	sub_set_customer.add_argument("project")
    1.88 +	sub_set_customer.add_argument("customer")
    1.89 +	sub_set_customer.set_defaults(func=set_customer)
    1.90 +
    1.91  	sub_status = subs.add_parser("status")
    1.92  	sub_status.set_defaults(func=status)
    1.93  
     2.1 --- a/db.py	Tue Oct 05 15:38:38 2010 +0200
     2.2 +++ b/db.py	Wed Oct 06 01:18:34 2010 +0200
     2.3 @@ -93,6 +93,15 @@
     2.4  	con.commit()
     2.5  	cur.close()
     2.6  
     2.7 +def update_where(db_file, table, dep_column, dep_value, set_column, set_value):
     2.8 +	con, cur = session(db_file)
     2.9 +	values = (set_value, dep_value)	
    2.10 +	sql = "update %s set %s=? where %s=?" % (table, set_column, dep_column)
    2.11 +	cur.execute(sql, values)
    2.12 +	con.commit()
    2.13 +	cur.close()
    2.14 +	test(db_file)
    2.15 +
    2.16  def find_last_project(db_file, time):
    2.17  	con, cur = session(db_file)
    2.18  	values = (time,)