[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [1813] contrib/py/scripts/addons/ io_import_BrushSet.py: first upload; filename will be used as texture names ( note if filenames are to long they will be cropped)

dan grauer thespiderdan at yahoo.de
Mon Apr 11 10:05:23 CEST 2011


Revision: 1813
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=1813
Author:   kromar
Date:     2011-04-11 08:05:22 +0000 (Mon, 11 Apr 2011)
Log Message:
-----------
first upload; filename will be used as texture names (note if filenames are to long they will be cropped)

Added Paths:
-----------
    contrib/py/scripts/addons/io_import_BrushSet.py

Added: contrib/py/scripts/addons/io_import_BrushSet.py
===================================================================
--- contrib/py/scripts/addons/io_import_BrushSet.py	                        (rev 0)
+++ contrib/py/scripts/addons/io_import_BrushSet.py	2011-04-11 08:05:22 UTC (rev 1813)
@@ -0,0 +1,119 @@
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+# ***** END GPL LICENCE BLOCK *****
+
+'''
+todo:
+- add file selection for single and multiple files
+
+changelog:
+	"version": (1,1,4),
+		filename will be used as texture name (still limited by stringlength)
+
+
+	"version": (1,1,3),
+	fixed operator and registration
+	added tracker and wiki url\
+	
+version": (1,1,2)
+	replaced image.new() with image.load()
+	changed addon category
+	removed some unused/old code	
+	
+version":1.11:
+	added type arg to texture.new() [L48]
+	cleared default filename
+''' 
+
+import bpy
+import os
+from bpy.props import *
+
+#addon description
+bl_info = {
+	"name": "import BrushSet",
+	"author": "Daniel Grauer",
+	"version": (1,1,4),
+	"blender": (2, 5, 6),
+	"api": "",
+	"category": "Import-Export",
+	"location": "File > Import > BrushSet",
+	"description": "imports all image files from a folder",
+	"warning": '', # used for warning icon and text in addons panel
+	"wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/Import-Export/BrushSet",
+	"tracker_url": "http://projects.blender.org/tracker/index.php?func=detail&aid=25702&group_id=153&atid=467",
+	}
+
+#extension filter (alternative use mimetypes)
+ext_list = ['jpg','bmp', 'iris', 'png', 'jpeg', 'targa', 'tga'];
+
+def LoadBrushSet(filepath, filename):
+	for file in os.listdir(filepath):
+		path=(filepath+file)
+		#get folder name
+		(f1,f2) = os.path.split(filepath)
+		(f3,foldername) = os.path.split(f1)
+		
+		texturename = foldername 		# file		"texture"	foldername
+		
+		#filter ext_list
+		if file.split('.')[-1].lower() in ext_list: 
+			#create new texture
+			texture = bpy.data.textures.new(texturename, 'IMAGE')    #watch it, string limit 21 ?!
+
+			#create new image
+			image = bpy.data.images.load(path)
+			image.source = "FILE"
+			image.filepath = path
+			bpy.data.textures[texture.name].image = image
+			
+			print("imported: "+file)
+	print("Brush Set imported!")  
+
+class BrushSetImporter(bpy.types.Operator):
+	'''Load Brush Set'''
+	bl_idname = "import_image.brushset"
+	bl_label = "Import BrushSet"
+
+	filename = StringProperty(name="File Name", description="filepath", default="", maxlen=1024, options={'ANIMATABLE'}, subtype='NONE')
+	filepath = StringProperty(name="File Name", description="filepath", default="", maxlen=1024, options={'ANIMATABLE'}, subtype='NONE')
+	
+	def execute(self, context):
+		LoadBrushSet(self.properties.filepath, self.properties.filename)
+		return {'FINISHED'}
+
+	def invoke(self, context, event):
+		wm = context.window_manager
+		wm.fileselect_add(self)
+		return {'RUNNING_MODAL'}
+
+def menu_func(self, context):
+	#clear the default name for import
+	default_name = "" 
+
+	self.layout.operator(BrushSetImporter.bl_idname, text="Brush Set").filename = default_name
+
+def register():    
+	bpy.utils.register_module(__name__)
+	bpy.types.INFO_MT_file_import.append(menu_func)
+
+def unregister():
+	bpy.utils.unregister_module(__name__)
+	bpy.types.INFO_MT_file_import.remove(menu_func)
+
+if __name__ == "__main__":
+	register()
\ No newline at end of file



More information about the Bf-extensions-cvs mailing list