示例#1
0
 def move_argument_before_action(self, argument):
     for arg in self.args:
         if argument in arg:
             # if declaration with '=' sign (e.g. --env-id=1)
             if "=" in arg:
                 index_of_env = self.args.index(arg)
                 env = self.args.pop(index_of_env)
                 self.args.append(env)
             else:
                 try:
                     index_of_env = self.args.index(arg)
                     self.args.pop(index_of_env)
                     env = self.args.pop(index_of_env)
                     self.args.append(arg)
                     self.args.append(env)
                 except IndexError:
                     raise ParserException(
                         'Corresponding value must follow "{0}" flag'.
                         format(arg))
             break
示例#2
0
 def move_argument_before_action(self, flag, has_value=True):
     """We need to move general argument before action, we use them
     not directly in action but in APIClient.
     """
     for arg in self.args:
         if flag in arg:
             if "=" in arg or not has_value:
                 index_of_flag = self.args.index(arg)
                 flag = self.args.pop(index_of_flag)
                 self.args.insert(1, flag)
             else:
                 try:
                     index_of_flag = self.args.index(arg)
                     flag = self.args.pop(index_of_flag)
                     value = self.args.pop(index_of_flag)
                     self.args.insert(1, value)
                     self.args.insert(1, flag)
                 except IndexError:
                     raise ParserException(
                         'Corresponding value must follow "{0}" flag'.
                         format(arg))
                 break