def pitz_estimate_task(): # Start of code to set up project. p = setup_options() p.set_usage("%prog task [estimate]") options, args = p.parse_args() if not args: p.print_usage() return if options.version: print_version() return pitzdir = Project.find_pitzdir(options.pitzdir) proj = Project.from_pitzdir(pitzdir) proj.find_me() # end of code to set up project. t = proj[args[0]] if len(args) == 2: est = proj[args[1]] else: est = Estimate.choose_from_already_instantiated() t['estimate'] = est # Save the project. proj.save_entities_to_yaml_files()
def handle_proj(self, p, options, args, proj): default_milestone = Milestone(proj, title='unscheduled') default_estimate = Estimate(proj, title='not estimated') default_owner = Person(proj, title='no owner') default_tags = list() t = Task( proj, title=options.title or raw_input("Task title: ").strip(), description=( '' if options.no_description else clepy.edit_with_editor('# Task description goes here')), status=Status(proj, title='unstarted'), milestone=default_milestone if options.use_defaults \ else Milestone.choose_from_already_instantiated( default_milestone, predicate=lambda m: not m.reached), estimate=default_estimate if options.use_defaults \ else Estimate.choose_from_already_instantiated(default_estimate), owner=default_owner if options.use_defaults \ else Person.choose_from_already_instantiated(default_owner), tags=default_tags if options.use_defaults \ else Tag.choose_many_from_already_instantiated(), ) proj.append(t) print("Added %r to the project." % t)