MCPcopy Index your code
hub / github.com/BrendanParmer/NodeToPython / execute

Method execute

NodeToPython/export/ntp_operator.py:102–219  ·  view source on GitHub ↗
(self, context: bpy.types.Context)

Source from the content-addressed store, hash-verified

100 self._set_unavailable_defaults = False
101
102 def execute(self, context: bpy.types.Context):
103 if bpy.app.version >= MAX_BLENDER_VERSION:
104 self.report(
105 {'WARNING'},
106 f"Blender version {bpy.app.version} is not supported yet!\n"
107 f"NodeToPython is currently supported up to "
108 f"{vec3_to_py_str(MAX_BLENDER_VERSION)}.\n"
109 f"Some nodes, settings, and features may not work yet. "
110 f"For more details, visit "
111 )
112 self.report(
113 {'WARNING'},
114 "\t\thttps://github.com/BrendanParmer/NodeToPython/blob/main/"
115 "docs/README.md#supported-versions "
116 )
117 return {'CANCELLED'}
118 elif bpy.app.version < MIN_BLENDER_VERSION:
119 self.report(
120 {'WARNING'},
121 f"Blender version {bpy.app.version} has been deprecated.\n"
122 f"NodeToPython currently requires a minimum version of "
123 f"{vec3_to_py_str(MIN_BLENDER_VERSION)}.\n"
124 f"Some nodes, settings, and features may not work. "
125 f"For more details, visit "
126 )
127 self.report(
128 {'WARNING'},
129 "\t\thttps://github.com/BrendanParmer/NodeToPython/blob/main/"
130 "docs/README.md#supported-versions "
131 )
132
133 if not self._setup_options(getattr(context.scene, "ntp_options")):
134 return {'CANCELLED'}
135
136 if self._mode == 'ADDON':
137 self._outer_indent_level = 2
138 self._inner_indent_level = 3
139
140 if not self._setup_addon_directories(self._name):
141 return {'CANCELLED'}
142
143 elif self._mode == 'SCRIPT':
144 self._file = StringIO("")
145 if self._include_imports:
146 self._create_imports()
147
148 # Imported here to avoid circular dependency issues
149 from .compositor.exporter import CompositorExporter
150 from .geometry.exporter import GeometryNodesExporter
151 from .shader.exporter import ShaderExporter
152
153 self._calculate_export_order(context)
154
155 if self._mode == 'ADDON':
156 # Create files
157 for module in self._modules:
158 self._file.close()
159 self._file = open(f"{self._addon_dir}/{module}.py", 'w')

Callers

nothing calls this directly

Calls 15

_setup_optionsMethod · 0.95
_create_importsMethod · 0.95
_import_modulesMethod · 0.95
_create_menu_funcMethod · 0.95
_create_main_funcMethod · 0.95
_create_licenseMethod · 0.95
_create_manifestMethod · 0.95
_writeMethod · 0.95

Tested by

no test coverage detected