def new_task(args): name = ' '.join(args.name) if not name: print(INVALID_NAME_MSG) return date_str = args.date if date_str: try: date = interpret_date(date_str) except ValueError as e: print(e) return else: date = None estimated_hours = float(args.est_hours) manager = TaskManager(fileio.load()) id = manager.new_task(name, estimated_hours, date) fileio.save(manager.task_dict) print_table(manager, id)
def modify_task(args): manager = TaskManager(fileio.load()) task_id = args.id try: old_task: task.Task = manager.task_dict[task_id] new_name = args.name if args.name else old_task.name if args.date: new_date = interpret_date(args.date) elif args.floating or isinstance(old_task, task.FloatingTask): new_date = None else: new_date = old_task.due_date new_hours_remaining = args.est_hours if args.est_hours else old_task.hours_remaining manager.new_task(new_name, new_hours_remaining, new_date, task_id) fileio.save(manager.task_dict) print_table(manager, task_id) except KeyError: print(INVALID_ID_MSG) except ValueError as e: print(e)