From 0de1ed57876edb5324a08e79f4d920919f9f5df9 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 17 Apr 2012 05:47:32 +0000 Subject: add import operator python template. --- release/scripts/templates/operator_export.py | 75 --------------------- release/scripts/templates/operator_file_export.py | 76 ++++++++++++++++++++++ release/scripts/templates/operator_file_import.py | 79 +++++++++++++++++++++++ 3 files changed, 155 insertions(+), 75 deletions(-) delete mode 100644 release/scripts/templates/operator_export.py create mode 100644 release/scripts/templates/operator_file_export.py create mode 100644 release/scripts/templates/operator_file_import.py (limited to 'release') diff --git a/release/scripts/templates/operator_export.py b/release/scripts/templates/operator_export.py deleted file mode 100644 index 3a7040ae2d2..00000000000 --- a/release/scripts/templates/operator_export.py +++ /dev/null @@ -1,75 +0,0 @@ -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 bpy_extras.io_utils import ExportHelper -from bpy.props import StringProperty, BoolProperty, EnumProperty - - -class ExportSomeData(bpy.types.Operator, ExportHelper): - '''This appears 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 = EnumProperty( - name="Example Enum", - description="Choose between two items", - items=(('OPT_A', "First Option", "Description one"), - ('OPT_B', "Second Option", "Description two")), - default='OPT_A', - ) - - @classmethod - def poll(cls, context): - return context.active_object is not 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") - - -def register(): - bpy.utils.register_class(ExportSomeData) - bpy.types.INFO_MT_file_export.append(menu_func_export) - - -def unregister(): - bpy.utils.unregister_class(ExportSomeData) - bpy.types.INFO_MT_file_export.remove(menu_func_export) - - -if __name__ == "__main__": - register() - - # test call - bpy.ops.export.some_data('INVOKE_DEFAULT') diff --git a/release/scripts/templates/operator_file_export.py b/release/scripts/templates/operator_file_export.py new file mode 100644 index 00000000000..7703d14de67 --- /dev/null +++ b/release/scripts/templates/operator_file_export.py @@ -0,0 +1,76 @@ +import bpy + + +def write_some_data(context, filepath, use_some_setting): + print("running write_some_data...") + f = open(filepath, 'w', encoding='utf-8') + 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 bpy_extras.io_utils import ExportHelper +from bpy.props import StringProperty, BoolProperty, EnumProperty +from bpy.types import Operator + + +class ExportSomeData(Operator, ExportHelper): + '''This appears in the tooltip of the operator and in the generated docs''' + bl_idname = "export_test.some_data" # important since its how bpy.ops.import_test.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 = EnumProperty( + name="Example Enum", + description="Choose between two items", + items=(('OPT_A', "First Option", "Description one"), + ('OPT_B', "Second Option", "Description two")), + default='OPT_A', + ) + + @classmethod + def poll(cls, context): + return context.active_object is not 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") + + +def register(): + bpy.utils.register_class(ExportSomeData) + bpy.types.INFO_MT_file_export.append(menu_func_export) + + +def unregister(): + bpy.utils.unregister_class(ExportSomeData) + bpy.types.INFO_MT_file_export.remove(menu_func_export) + + +if __name__ == "__main__": + register() + + # test call + bpy.ops.export_test.some_data('INVOKE_DEFAULT') diff --git a/release/scripts/templates/operator_file_import.py b/release/scripts/templates/operator_file_import.py new file mode 100644 index 00000000000..10a054cf1df --- /dev/null +++ b/release/scripts/templates/operator_file_import.py @@ -0,0 +1,79 @@ +import bpy + + +def read_some_data(context, filepath, use_some_setting): + print("running read_some_data...") + f = open(filepath, 'r', encoding='utf-8') + data = f.read() + f.close() + + # would normally load the data hare + print(data) + + return {'FINISHED'} + + +# ImportHelper is a helper class, defines filename and +# invoke() function which calls the file selector. +from bpy_extras.io_utils import ImportHelper +from bpy.props import StringProperty, BoolProperty, EnumProperty +from bpy.types import Operator + + +class ImportSomeData(Operator, ImportHelper): + '''This appears in the tooltip of the operator and in the generated docs''' + bl_idname = "import_test.some_data" # important since its how bpy.ops.import_test.some_data is constructed + bl_label = "Import Some Data" + + # ImportHelper 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 = EnumProperty( + name="Example Enum", + description="Choose between two items", + items=(('OPT_A', "First Option", "Description one"), + ('OPT_B', "Second Option", "Description two")), + default='OPT_A', + ) + + @classmethod + def poll(cls, context): + return context.active_object is not None + + def execute(self, context): + return read_some_data(context, self.filepath, self.use_setting) + + +# Only needed if you want to add into a dynamic menu +def menu_func_import(self, context): + self.layout.operator(ImportSomeData.bl_idname, text="Text Import Operator") + + +def register(): + bpy.utils.register_class(ImportSomeData) + bpy.types.INFO_MT_file_import.append(menu_func_import) + + +def unregister(): + bpy.utils.unregister_class(ImportSomeData) + bpy.types.INFO_MT_file_import.remove(menu_func_import) + + +if __name__ == "__main__": + register() + + # test call + bpy.ops.import_test.some_data('INVOKE_DEFAULT') -- cgit v1.2.3