[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33122] trunk/blender/release/scripts/ templates: cleanup the operator template and rename to operator_export

Campbell Barton ideasman42 at gmail.com
Wed Nov 17 08:00:18 CET 2010


Revision: 33122
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33122
Author:   campbellbarton
Date:     2010-11-17 08:00:14 +0100 (Wed, 17 Nov 2010)

Log Message:
-----------
cleanup the operator template and rename to operator_export

Added Paths:
-----------
    trunk/blender/release/scripts/templates/operator_export.py

Removed Paths:
-------------
    trunk/blender/release/scripts/templates/operator.py

Deleted: trunk/blender/release/scripts/templates/operator.py
===================================================================
--- trunk/blender/release/scripts/templates/operator.py	2010-11-17 06:30:06 UTC (rev 33121)
+++ trunk/blender/release/scripts/templates/operator.py	2010-11-17 07:00:14 UTC (rev 33122)
@@ -1,63 +0,0 @@
-import bpy
-
-def write_some_data(context, filepath, use_some_setting):
-    print("running write_some_data...")
-    pass
-
-from bpy.props import *
-
-class ExportSomeData(bpy.types.Operator):
-    '''This appiers in the tooltip of the operator and in the generated docs.'''
-    bl_idname = "export.some_data" # this is important since its how bpy.ops.export.some_data is constructed
-    bl_label = "Export Some Data"
-
-    # List of operator properties, the attributes will be assigned
-    # to the class instance from the operator settings before calling.
-
-    # TODO, add better example props
-    filepath = StringProperty(name="File Path", description="File path used for exporting the PLY file", maxlen= 1024, default= "")
-    use_setting = BoolProperty(name="Example Boolean", description="Example Tooltip", default= True)
-
-    type = bpy.props.EnumProperty(items=(('OPT_A', "First Option", "Description one"), ('OPT_B', "Second Option", "Description two.")),
-                        name="Example Enum",
-                        description="Choose between two items",
-                        default='OPT_A')
-
-    @classmethod
-    def poll(cls, context):
-        return context.active_object != None
-
-    def execute(self, context):
-
-        # # Bug, currently isnt working
-        #if not self.is_property_set("filepath"):
-        #    raise Exception("filename not set")
-
-        write_some_data(self.filepath, context, self.use_setting)
-
-        return {'FINISHED'}
-
-    def invoke(self, context, event):
-        wm = context.window_manager
-
-        if True:
-            # File selector
-            wm.add_fileselect(self) # will run self.execute()
-            return {'RUNNING_MODAL'}
-        elif True:
-            # search the enum
-            wm.invoke_search_popup(self)
-            return {'RUNNING_MODAL'}
-        elif False:
-            # Redo popup
-            return wm.invoke_props_popup(self, event) #
-        elif False:
-            return self.execute(context)
-
-
-# Only needed if you want to add into a dynamic menu
-menu_func = lambda self, context: self.layout.operator("export.some_data", text="Example Exporter...")
-bpy.types.INFO_MT_file_export.append(menu_func)
-
-if __name__ == "__main__":
-    bpy.ops.export.some_data('INVOKE_DEFAULT', filepath="/tmp/test.ply")

Copied: trunk/blender/release/scripts/templates/operator_export.py (from rev 33120, trunk/blender/release/scripts/templates/operator.py)
===================================================================
--- trunk/blender/release/scripts/templates/operator_export.py	                        (rev 0)
+++ trunk/blender/release/scripts/templates/operator_export.py	2010-11-17 07:00:14 UTC (rev 33122)
@@ -0,0 +1,53 @@
+import bpy
+
+def write_some_data(context, filepath, use_some_setting):
+    print("running write_some_data...")
+    f = open(filepath, 'w')
+    f.write("Hello World %s" % use_some_setting)
+    f.close()
+
+    return {'FINISHED'}
+
+
+# ExportHelper is a helper class, defines filename and
+# invoke() function which calls the file selector.
+from io_utils import ExportHelper
+
+from bpy.props import *
+
+
+class ExportSomeData(bpy.types.Operator, ExportHelper):
+    '''This appiers in the tooltip of the operator and in the generated docs.'''
+    bl_idname = "export.some_data" # this is important since its how bpy.ops.export.some_data is constructed
+    bl_label = "Export Some Data"
+    
+    # ExportHelper mixin class uses this
+    filename_ext = ".txt"
+
+    filter_glob = StringProperty(default="*.txt", options={'HIDDEN'})
+
+    # List of operator properties, the attributes will be assigned
+    # to the class instance from the operator settings before calling.
+    use_setting = BoolProperty(name="Example Boolean", description="Example Tooltip", default= True)
+
+    type = bpy.props.EnumProperty(items=(('OPT_A', "First Option", "Description one"), ('OPT_B', "Second Option", "Description two.")),
+                        name="Example Enum",
+                        description="Choose between two items",
+                        default='OPT_A')
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        return write_some_data(context, self.filepath, self.use_setting)
+
+
+# Only needed if you want to add into a dynamic menu
+def menu_func_export(self, context):
+    self.layout.operator(ExportSomeData.bl_idname, text="Text Export Operator")
+
+bpy.types.INFO_MT_file_export.append(menu_func_export)
+
+if __name__ == "__main__":
+    bpy.ops.export.some_data('INVOKE_DEFAULT')





More information about the Bf-blender-cvs mailing list