Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.35 KB | None | 0 0
  1. def parse_args():
  2. parser = argparse.ArgumentParser(description='Great argument parser for Ad_como')
  3.  
  4. subparsers = parser.add_subparsers(help='sub-command help')
  5.  
  6. developer_parser = subparsers.add_parser('developer', help='Log in or watch users')
  7.  
  8. developer_subparsers = developer_parser.add_subparsers(help='sub-command help')
  9.  
  10. login_parser = developer_subparsers.add_parser('login', help='Log in or watch developers')
  11. login_parser.add_argument('-u', '--user_name', help='Your login', default='Alex')
  12. login_parser.add_argument('-p', '--password', help='Your password', default='123')
  13. login_parser.set_defaults(func=login)
  14.  
  15. register_parser = developer_subparsers.add_parser('register', help='Register in the project')
  16. register_parser.add_argument('-u', '--user_name', help='Your login', default='Alex', required=True)
  17. register_parser.add_argument('-n', '--name', help='Your name', default='Alex', required=True)
  18. register_parser.add_argument('-p', '--password', help='Your password', default='123', required=True)
  19. register_parser.set_defaults(func=register)
  20.  
  21. cur_list_parser = developer_subparsers.add_parser('all', help='Display all developers')
  22. cur_list_parser.set_defaults(func=show_all_developers)
  23.  
  24. all_list_parser = developer_subparsers.add_parser('current', help='Display current developers')
  25. all_list_parser.set_defaults(func=show_current_developers)
  26.  
  27. add_parser = subparsers.add_parser('add', help='Add task in the project')
  28. add_parser.add_argument('-n', '--name', help='Name of the task', required=True)
  29. add_parser.add_argument('-d', '--description', help='Description of the task', default='Simple description')
  30. add_parser.add_argument('-s', '--status', help='Status of the task', default=TASK_DEFAULT_STATUS)
  31. add_parser.add_argument('-p', '--priority', help='Priority of the task', default=TASK_DEFAULT_PRIORITY)
  32. add_parser.add_argument('-a', '--assignee', help='Assignee to', default=TASK_DEFAULT_DEVELOPER)
  33. add_parser.add_argument('-sub', '--subject', help='Subject of the task', default='Simple subject')
  34. add_parser.add_argument('-dl', '--dead_line', help='Dead line of the task', default=None)
  35. add_parser.add_argument('-pr', '--period', help='Period of the task', default=None)
  36. add_parser.set_defaults(func=add_task)
  37.  
  38. change_parser = subparsers.add_parser('change', help='Change task in the project')
  39. change_parser.add_argument('-id', '--task_id', help='Id task would you change', required=True)
  40. change_parser.add_argument('-n', '--name', help='Change name of the task')
  41. change_parser.add_argument('-s', '--subject', help='Change subject of the task')
  42. change_parser.add_argument('-des', '--description', help='Change description of the task')
  43. change_parser.add_argument('-p', '--priority', help='Change priority if the task')
  44. change_parser.add_argument('-a', '--assignee', help='Change assignee of the task')
  45. change_parser.add_argument('-d', '--dead_line', help='Change deadline of the task', default=None)
  46. change_parser.add_argument('-pr', '--period', help='Change period of the task', default=None)
  47. change_parser.set_defaults(func=change_task)
  48.  
  49. task_list_parser = subparsers.add_parser('list', help='View all tasks in the project')
  50. view_list_parser = task_list_parser.add_mutually_exclusive_group()
  51. view_list_parser.add_argument('-r', '--resolved', action='store_true', help='View all resolved tasks')
  52. view_list_parser.add_argument('-t', '--to_do', action='store_true', help='View all to do tasks')
  53. view_list_parser.add_argument('-a', '--all', action='store_true', help='View all tasks')
  54. view_list_parser.add_argument('-i', '--in_progress', action='store_true', help='View all in progress tasks')
  55. task_list_parser.set_defaults(func=get_task_list)
  56.  
  57. resolved_parser = subparsers.add_parser('resolve', help='Which task would you like to resolve')
  58. resolved_parser.add_argument('-i', '--id', help='Task id to resolve', required=True)
  59. resolved_parser.set_defaults(func=resolve_task)
  60.  
  61. remove_parser = subparsers.add_parser('remove', help='Choose which task would you remove')
  62. remove_parser.add_argument('-i', '--task_id', help='Task id to remove')
  63. remove_parser.set_defaults(func=remove_task)
  64.  
  65. project_parser = subparsers.add_parser('project', help='Manage project')
  66.  
  67. project_subparsers = project_parser.add_subparsers(help='sub-command help')
  68.  
  69. add_project_parser = project_subparsers.add_parser('create', help='Create new project')
  70. add_project_parser.add_argument('-n', '--name', help='Name for your new project', required=True)
  71. add_project_parser.set_defaults(func=add_project)
  72.  
  73. add_project_task = project_subparsers.add_parser('add_task', help='Add tasks in the project')
  74. add_project_task.add_argument('-n', '--name', help='Name of the task', required=True)
  75. add_project_task.add_argument('-d', '--description', help='Description of the task', default='Simple description')
  76. add_project_task.add_argument('-s', '--status', help='Status of the task', default=TASK_DEFAULT_STATUS)
  77. add_project_task.add_argument('-p', '--priority', help='Priority of the task', default=TASK_DEFAULT_PRIORITY)
  78. add_project_task.add_argument('-a', '--assignee', help='Assignee to', default=TASK_DEFAULT_DEVELOPER)
  79. add_project_task.add_argument('-sub', '--subject', help='Subject of the task', default='Simple subject')
  80. add_project_task.add_argument('-dl', '--dead_line', help='Dead line of the task', default=None)
  81. add_project_task.add_argument('-pr', '--period', help='Period of the task', default=None)
  82. add_project_task.set_defaults(func=add_project_task)
  83.  
  84. add_project_dev = project_subparsers.add_parser('add_dev', help='Add dev in the project')
  85. add_project_dev.add_argument('-u', '--user_name', help='Add user name of dev you want to add', required=True)
  86. add_project_dev.set_defaults(func=add_project_dev)
  87.  
  88. get_list_project = project_subparsers.add_parser('list', help='Get list task of project')
  89. get_list_project.add_argument('-i', '--id', help='Id which project you would like to get', required=True)
  90. get_list_project.add_argument('-t', '-type', help='Type of list you would like', required=True)
  91. get_list_project.set_defaults(func=get_project_list)
  92.  
  93.  
  94. args = parser.parse_args()
  95. if 'func' in args:
  96. args.func(args)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement