From aa1e721349bb83617366c1b91c460f0266c15636 Mon Sep 17 00:00:00 2001 From: Drevets Date: Thu, 20 Sep 2018 20:47:11 -0500 Subject: [PATCH] first pr --- problems/py101/trackcoder/app.py | 45 ++++++++++++++++-------- problems/py101/trackcoder/to_do_list.db | Bin 0 -> 8192 bytes 2 files changed, 31 insertions(+), 14 deletions(-) create mode 100644 problems/py101/trackcoder/to_do_list.db diff --git a/problems/py101/trackcoder/app.py b/problems/py101/trackcoder/app.py index ba766fe..545598c 100644 --- a/problems/py101/trackcoder/app.py +++ b/problems/py101/trackcoder/app.py @@ -31,29 +31,46 @@ def initialize(): def parse(input): """ - a b 10 first blog post + a b 10 first blog post a c 10 finished cli - a p 120 + a p 120 """ input = input.strip() - cmd, task, mins, despcription = ['']*4 + cmd, task, mins, description, done = ['']*5 try: - cmd, task, mins, *description = input.split() + cmd, task, mins, *description, done = input.split() description = ' '.join(description) - return cmd, task, mins, description - except ValueError: - return input, task, mins, despcription + if done == 'False': + done = False + return cmd, task, mins, description, done + except Exception as e: + print('this is continuing to fail and we do not know why') + print(e) + return input, task, mins, description, done def add(**kwargs): - ToDo.create(task=kwargs['task'], - mins=kwargs['mins'], - description=kwargs['description']) + try: + ToDo.create(task=kwargs['task'], + mins=kwargs['mins'], + description=kwargs['description'], + done=kwargs['done']) + except Exception: + print("Please check your ego") + def show(**kwargs): + total = {} for t in ToDo.select(): print(t.task, t.description, t.mins, t.done) + if t.task in total: + total[t.task]+=t.mins + else: + total[t.task]=t.mins + for k,v in total.items(): + print('{} minutes spent {}'.format(v,k)) + def execute(**kwargs): @@ -68,7 +85,7 @@ def execute(**kwargs): @click.command() @click.option('--interactive', '-i', help='needs some help text', is_flag=True, default=False) @click.option('--show', '-s', help='needs some help text', is_flag=True, default=False) -@click.option('--add', '-a', nargs=3, type=(click.STRING, int, click.STRING), default=(None, None, None)) +@click.option('--add', '-a', nargs=4, type=(click.STRING, int, click.STRING, bool), default=(None, None, None, False)) def main(interactive, add, show): initialize() @@ -84,13 +101,13 @@ def main(interactive, add, show): except EOFError: break else: - cmd, task, mins, description = parse(text) - execute(cmd=cmd, task=task, mins=mins, description=description) + cmd, task, mins, description, done = parse(text) + execute(cmd=cmd, task=task, mins=mins, description=description, done=done) elif show: execute(cmd='show') else: task, mins, description = add - execute(cmd='add', task=task, mins=mins, description=description) + execute(cmd='add', task=task, mins=mins, description=description, done=done) print('GoodBye!') diff --git a/problems/py101/trackcoder/to_do_list.db b/problems/py101/trackcoder/to_do_list.db new file mode 100644 index 0000000000000000000000000000000000000000..fd33fcaeed37cb8d42d8313cbfe8a43300dfda74 GIT binary patch literal 8192 zcmeI1O;giA9L5vmwYCj{jN>@ewWv^qurGPr3^Q1vqYMSKRA;!EHYo(!Cex%II5;|< zJbLiMcy~rWiyy(0|9~L0BIC`&?sVIvd7fwg``f)F*?wO3V-GcgPRofAlg1@kmL4G_ zNzx?r0q7@9hJ(SA6ZlQeFKd&MdiQMxRI)NH!ACSfKoAfF1OY)n5D)|e0YN|z5CjAP zLE!%*@a~m7a${;rem@gCwWb#bZjkhWl}f2tEum`hak+%@$zORim-pQ~THCCao|GzR zbE}FrUzE$}S!HdbSlL1ArJZ?@I?+KMy)0H%o)#-}RM!iqO1SEJQN81bu^+TA7R7$c zi(;o0=Fut?QC-_8oy}2W4HE&VJ8+&VI~#StC1? z`I32)+0LlxAL(!DPaqOa5D)|e0YN|z5CjAPK|l}?1O$P<5ug(zlJc-9kJf6bhR7drHUkfDfv6y58@v^C_4o zxJ-;SuBDc*LQ3hfl)eDURKh4sE47${fP1|GJq8QbNM)9xF`il&1H&CKgnQ2Ggm&M0 zV$)`(s$s5cOnER0@>|Ism^~sg+Y?P~rl}a4CZoCgBcPpx=(-d7XLN+y)UY+KnuKvq zbBn{jYEE>h9<)NZLHEuZ$WhHyGj+qtks&Z7o2uUM+kUj?xhQbD@m`OG+LWr8S{Ao* z^Mhcy4VI1r@5n>{@X+Z|6Pp++r`%*XwR8p4%b>0`{7w|3WWS>@fTNS@-1BZ&M4iFB ynT1(yY2e@88f<1wH#o_eGPrdZJM4JQ@&0c|ai?2P9wtOR!P