def _parse_unknown_args()

in cli/src/klio_cli/commands/job/create.py [0:0]


    def _parse_unknown_args(self, user_args):
        # ('--foo', 'bar', '--baz', 'bla', 'qaz')
        parsed_keys_index = []  # (0, 2)
        parsed_args = {}
        for index, item in enumerate(user_args):
            if item.startswith("--"):
                parsed_keys_index.append(index)

        for index, item in enumerate(parsed_keys_index):
            key = user_args[item].lstrip("--").replace("-", "_")
            try:
                next_key = parsed_keys_index[index + 1]
            except IndexError:
                next_key = len(user_args)

            values = user_args[item + 1 : next_key]
            if len(values) == 1 and key != "dependency":
                values = values[0]

            if key == "dependency":
                dependency = self._parse_dependency_args(values)
                if len(dependency) == 0:
                    continue
                parsed_args.setdefault("dependencies", []).append(dependency)
            else:
                parsed_args[key] = values

        return parsed_args