Beispiel #1
0
    def get_module_nodes(self):
        modules = list(
            set(self._field_nodes.keys()) | set(self._type_nodes.keys()))
        result = {}

        for module in modules:
            self.add_import_statement(module, "commercetools", "types")
            self.add_import_statement(module, "marshmallow")

            type_nodes = reorder_class_definitions(self._type_nodes[module])
            global_nodes = [
                ast.Assign(
                    targets=[ast.Name(id="__all__")],
                    value=ast.List(elts=[
                        ast.Str(s=node.name, kind=None)
                        for node in sorted(type_nodes,
                                           key=operator.attrgetter("name"))
                    ]),
                )
            ]
            all_nodes = (self._import_nodes[module] + global_nodes +
                         self._field_nodes[module] + type_nodes)
            value = ast.Module(body=all_nodes)
            result[module] = value

        result["__init__"] = self.generate_init_module(result.keys())
        return result
Beispiel #2
0
    def get_module_nodes(self):

        modules = list(self._type_nodes.keys())

        result = {}
        for module in modules:
            self.add_import_statement(module, "attr")
            self.add_import_statement(module, "typing")
            self.add_import_statement(module, "datetime")

            type_nodes = reorder_class_definitions(self._type_nodes[module])
            import_nodes = merge_imports(self._import_nodes[module])
            global_nodes = [
                ast.Assign(
                    targets=[ast.Name(id="__all__")],
                    value=ast.List(elts=[
                        ast.Str(s=node.name)
                        for node in sorted(type_nodes,
                                           key=operator.attrgetter("name"))
                    ]),
                )
            ]

            all_nodes = (import_nodes + self.get_typing_imports(module) +
                         global_nodes + type_nodes)
            value = ast.Module(body=all_nodes)
            result[module] = value

        result["__init__"] = self.generate_init_module(result.keys())
        return result