Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-04-17 09:47:32 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-04-17 09:47:32 +0400
commit0de1ed57876edb5324a08e79f4d920919f9f5df9 (patch)
tree4207babd27730d524cfad69e6be1183b5c26d9b7 /release
parent348622360752916f9b776597e846cd2af260cdb9 (diff)
add import operator python template.
Diffstat (limited to 'release')
-rw-r--r--release/scripts/templates/operator_file_export.py (renamed from release/scripts/templates/operator_export.py)11
-rw-r--r--release/scripts/templates/operator_file_import.py79
2 files changed, 85 insertions, 5 deletions
diff --git a/release/scripts/templates/operator_export.py b/release/scripts/templates/operator_file_export.py
index 3a7040ae2d2..7703d14de67 100644
--- a/release/scripts/templates/operator_export.py
+++ b/release/scripts/templates/operator_file_export.py
@@ -3,7 +3,7 @@ import bpy
def write_some_data(context, filepath, use_some_setting):
print("running write_some_data...")
- f = open(filepath, 'w')
+ f = open(filepath, 'w', encoding='utf-8')
f.write("Hello World %s" % use_some_setting)
f.close()
@@ -14,11 +14,12 @@ def write_some_data(context, filepath, use_some_setting):
# 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(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
+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
@@ -72,4 +73,4 @@ if __name__ == "__main__":
register()
# test call
- bpy.ops.export.some_data('INVOKE_DEFAULT')
+ 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')