Пример #1
0
    def __str__(self):
        camel_case_types = snake_case_to_camel_case(self.classname)
        if isinstance(camel_case_types, dict):
            camel_case_types = self.__unpack_dict_values(camel_case_types)
            self.classname = f"typing.Union[{camel_case_types}]".replace(
                "Typing", "typing")
        elif camel_case_types == "Array":
            if isinstance(self.list_inner_type, list):
                self.list_inner_type = [
                    self.type_string_to_default_type(list_inner_type)
                    for list_inner_type in self.list_inner_type
                ]

                self.classname = ("typing.List[typing.Union[" + ", ".join(
                    f'"{item}"' if item not in STANDART_TYPES else item
                    for item in self.list_inner_type) + "]]")
            else:
                self.list_inner_type = self.type_string_to_default_type(
                    self.list_inner_type)
                self.classname = (
                    "typing.List[" +
                    (f'"{self.list_inner_type}"' if self.list_inner_type
                     not in STANDART_TYPES else self.list_inner_type) + "]")
        else:
            self.classname = '"' + camel_case_types + '"'

        self.classname = self.type_string_to_default_type(self.classname)
        if self.required:
            return f": {self.classname}"
        else:
            return f": typing.Optional[{self.classname}]"
Пример #2
0
def parse_file(path: str, filepath_to: str, imports_dict: dict) -> None:
    types_dict: dict = get_json_dict(path)['definitions']
    classnames: list = snake_case_to_camel_case(types_dict.keys())
    prepared_dict: dict = shift_json_dict_names(types_dict, classnames)
    write_translated_json(filepath_to, prepared_dict, imports_dict)

    logging.info("READY")
Пример #3
0
def put_responses_by_filename(definitions: dict, categorized: dict) -> dict:
    for key, definition in definitions.items():
        filebound = key.split("_")[0]
        classname = snake_case_to_camel_case("_".join(key.split("_")[1:]))
        resp = {classname: definition}
        categorized[filebound].update(resp)
    return categorized
Пример #4
0
def parse_file(path: str, filepath_to: str, imports_dict: dict) -> None:
    types_dict: dict = create_objects_from_enum_types(
        sort_by_reference(get_json_dict(path)["definitions"]))
    classnames: dict = snake_case_to_camel_case(types_dict.keys())
    prepared_dict: dict = shift_json_dict_names(types_dict, classnames)
    write_translated_json(filepath_to, prepared_dict, imports_dict)

    logging.info("READY")
Пример #5
0
    def __str__(self):
        camel_case_types = snake_case_to_camel_case(self.classname)
        if isinstance(camel_case_types, dict):
            camel_case_types = self.__unpack_dict_values(camel_case_types)
            self.classname = f'Union[{camel_case_types}]'
        elif camel_case_types == 'Array':
            self.list_inner_type = self.type_string_to_default_type(
                self.list_inner_type)
            if self.list_inner_type in STANDART_TYPES:
                self.classname = f'List[{self.list_inner_type}]'
            else:
                self.classname = f'List["{self.list_inner_type}"]'
        else:
            self.classname = '"' + camel_case_types + '"'

        self.classname = self.type_string_to_default_type(self.classname)

        label: str = f': Optional[{self.classname}]'
        return label
Пример #6
0
def test_snake_case(test_input, expected):
    assert snake_case_to_camel_case(test_input) == expected