sphinx doc gen: multiple examples possible and include the scripts docstring inline...
[blender.git] / doc / python_api / examples / bpy.types.Operator.2.py
1 """
2 Calling a File Selector
3 +++++++++++++++++++++++
4 This example shows how an operator can use the file selector
5 """
6 import bpy
7
8
9 class ExportSomeData(bpy.types.Operator):
10     """Test exporter which just writes hello world"""
11     bl_idname = "export.some_data"
12     bl_label = "Export Some Data"
13
14     filepath = bpy.props.StringProperty(subtype="FILE_PATH")
15
16     def execute(self, context):
17         file = open(self.filepath, 'w')
18         file.write("Hello World")
19         return {'FINISHED'}
20
21     def invoke(self, context, event):
22         context.window_manager.fileselect_add(self)
23         return {'RUNNING_MODAL'}
24
25
26 # Only needed if you want to add into a dynamic menu
27 def menu_func(self, context):
28     self.layout.operator(ExportSomeData.bl_idname, text="Text Export Operator")
29
30 # Register and add to the file selector
31 bpy.utils.register_class(ExportSomeData)
32 bpy.types.INFO_MT_file_export.append(menu_func)
33
34
35 # test call
36 bpy.ops.export.some_data('INVOKE_DEFAULT')