[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15666] branches/soc-2008-quorn/release/ scripts/scripttemplate_text_plugin.py: Script template added for text plug-ins

Ian Thompson quornian at googlemail.com
Mon Jul 21 12:07:28 CEST 2008


Revision: 15666
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15666
Author:   quorn
Date:     2008-07-21 12:07:03 +0200 (Mon, 21 Jul 2008)

Log Message:
-----------
Script template added for text plug-ins

Added Paths:
-----------
    branches/soc-2008-quorn/release/scripts/scripttemplate_text_plugin.py

Added: branches/soc-2008-quorn/release/scripts/scripttemplate_text_plugin.py
===================================================================
--- branches/soc-2008-quorn/release/scripts/scripttemplate_text_plugin.py	                        (rev 0)
+++ branches/soc-2008-quorn/release/scripts/scripttemplate_text_plugin.py	2008-07-21 10:07:03 UTC (rev 15666)
@@ -0,0 +1,69 @@
+#!BPY
+"""
+Name: 'Text Plugin'
+Blender: 246
+Group: 'ScriptTemplate'
+Tooltip: 'Add a new text for writing a text plugin'
+"""
+
+from Blender import Window
+import bpy
+
+script_data = \
+'''#!BPY
+"""
+Name: 'My Plugin Script'
+Blender: 246
+Group: 'TextPlugin'
+Shortcut: 'Ctrl+Alt+U'
+Tooltip: 'Put some useful info here'
+"""
+
+# Add a licence here if you wish to re-distribute, we recommend the GPL
+
+from Blender import Window, sys
+import BPyTextPlugin, bpy
+
+def my_script_util(txt):
+	# This function prints out statistical information about a script
+	
+	desc = BPyTextPlugin.get_cached_descriptor(txt)
+	print '---------------------------------------'
+	print 'Script Name:', desc.name
+	print 'Classes:', len(desc.classes)
+	print '  ', desc.classes.keys()
+	print 'Functions:', len(desc.defs)
+	print '  ', desc.defs.keys()
+	print 'Variables:', len(desc.vars)
+	print '  ', desc.vars.keys()
+
+def main():
+	
+	# Gets the active text object, there can be many in one blend file.
+	txt = bpy.data.texts.active
+	
+	# Silently return if the script has been run with no active text
+	if not txt:
+		return 
+	
+	# Text plug-ins should run quickly so we time it here
+	Window.WaitCursor(1)
+	t = sys.time()
+	
+	# Run our utility function
+	my_script_util(txt)
+	
+	# Timing the script is a good way to be aware on any speed hits when scripting
+	print 'Plugin script finished in %.2f seconds' % (sys.time()-t)
+	Window.WaitCursor(0)
+	
+
+# This lets you import the script without running it
+if __name__ == '__main__':
+	main()
+'''
+
+new_text = bpy.data.texts.new('textplugin_template.py')
+new_text.write(script_data)
+bpy.data.texts.active = new_text
+Window.RedrawAll()





More information about the Bf-blender-cvs mailing list