fa3dd5d9f4 
					 
					
						
						
							
							Cleanup: BLO_read: linking API arg order and name.  
						
						 
						
						... 
						
						
						
						linking API funcs would use 'name, idcode', when all other code here uses
(more sensible) 'idcode, name'.
Also, use 'name' arg name when we expect a bare name, without the prepended ID code, and
'idname' arg name when we expect a complete ID name.
And here too, idcode shall be short, not int! 
						
						
					 
					
						2015-10-15 16:12:00 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2e8fcac15d 
					 
					
						
						
							
							Cleanup & rework of BLO_linking code.  
						
						 
						
						... 
						
						
						
						This commits does mostly two things:
* Get rid of bContext parameter: I can see no real good reason to pass such a high-level data
  to such low-level code... It also makes it more difficult to call when you do not have
  a context available.
* Cleanup the instantiating part.
Last point is the most risky - previous code was sometimes quite confusing and hard to follow,
from tests nothing behaves differently in new code, but some hidden corner case may show up.
Anyway, no change in behavior is expected from this commit, if it happens please file a bugreport! 
						
						
					 
					
						2015-10-12 15:07:07 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4bc08d09ae 
					 
					
						
						
							
							Cleanup in BLO API: rename 'append' funcs to 'link', since none do append, but only linking of datablocks!  
						
						 
						
						
						
						
					 
					
						2015-10-12 13:47:44 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						cff288cf3a 
					 
					
						
						
							
							Use PyC_ParseBool to parse bools  
						
						 
						
						... 
						
						
						
						This could cause problems since they could be any int,
then passed directly to internal functions that assume bools. 
						
						
					 
					
						2015-08-04 18:49:42 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9fd569a654 
					 
					
						
						
							
							PyAPI: add utilities PyTuple_SET_ITEMS, Py_INCREF_RET  
						
						 
						
						... 
						
						
						
						Setting all values of a tuple is such a common operation that it deserves its own macro.
Also added Py_INCREF_RET to avoid confusing use of comma operator. 
						
						
					 
					
						2015-01-06 19:09:11 +11:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4ca67869cc 
					 
					
						
						
							
							Code cleanup: remove unused includes  
						
						 
						
						... 
						
						
						
						Opted to keep includes if they are used indirectly (even if removing is possible). 
						
						
					 
					
						2014-05-01 04:47:51 +10:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2011156eec 
					 
					
						
						
							
							Fix for crash linking node groups through bpy.data.library  
						
						 
						
						... 
						
						
						
						Defer creating the Python objects until after appending is finished
because NodeTree's types are not initialized until then. 
						
						
					 
					
						2014-01-31 00:56:19 +11:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0d6ae3fda2 
					 
					
						
						
							
							Main API: refactor naming, use BKE_main_ prefix and add main arg.  
						
						 
						
						
						
						
					 
					
						2013-12-30 13:25:27 +11:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						93ac968db3 
					 
					
						
						
							
							code cleanup: include order  
						
						 
						
						
						
						
					 
					
						2013-04-05 17:56:54 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e1a54214bb 
					 
					
						
						
							
							code cleanup:  
						
						 
						
						... 
						
						
						
						- remove unused defines.
- quiet some shadow warnings.
- bevel, ifdef out some asserts that are too common.
- style 
						
						
					 
					
						2013-03-25 02:41:30 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7d585ed475 
					 
					
						
						
							
							patch [ #34103 ] check_for_dupid.patch  
						
						 
						
						... 
						
						
						
						from Lawrence D'Oliveiro (ldo)
- more comments
- more uses of bool type
- define symbol for length of in_use array in check_for_dupid 
						
						
					 
					
						2013-03-10 05:46:24 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1bf5832dfb 
					 
					
						
						
							
							code cleanup: warnings and use stdbool for bpy* funcs.  
						
						 
						
						
						
						
					 
					
						2013-01-07 05:26:12 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e75f5c8208 
					 
					
						
						
							
							quiet -Wmissing-prototypes warnings, and enable this warning by default for C with gcc.  
						
						 
						
						... 
						
						
						
						helps for finding unused functions and making functions static, also did some minor code cleanup. 
						
						
					 
					
						2012-09-15 01:52:28 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b91bc4f037 
					 
					
						
						
							
							use gcc attrubutes to warn on unused return values and arguments which shouldnt be NULL.  
						
						 
						
						... 
						
						
						
						also remove IDP_AppendArray's return value which wasnt the new item in the array (which is odd/misleading), but wasnt used anywhere either. 
						
						
					 
					
						2012-07-08 06:00:27 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5189356d58 
					 
					
						
						
							
							style cleanup  
						
						 
						
						
						
						
					 
					
						2012-06-04 20:11:09 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2d2d36fe3b 
					 
					
						
						
							
							code cleanup:  
						
						 
						
						... 
						
						
						
						- style - multi-line ifs move braces onto new lines.
- iterators - convert some to macros, other split up and move brace. 
						
						
					 
					
						2012-05-20 19:49:27 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						abf551b1a5 
					 
					
						
						
							
							style cleanup: py api  
						
						 
						
						
						
						
					 
					
						2012-03-26 20:41:54 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4f19c1a995 
					 
					
						
						
							
							spelling cleanup  
						
						 
						
						
						
						
					 
					
						2012-03-18 07:38:51 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						70d3d1aca6 
					 
					
						
						
							
							style cleanup: py/capi  
						
						 
						
						
						
						
					 
					
						2012-03-16 21:39:56 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e17fd46c71 
					 
					
						
						
							
							formatting edits only to use more consisted style  
						
						 
						
						
						
						
					 
					
						2011-12-26 12:26:11 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4afc0e80a7 
					 
					
						
						
							
							fix [ #29462 ] libraries.load can't have link=False when relative=True  
						
						 
						
						... 
						
						
						
						was doing an unnecessary (and incorrect) library lookup. 
						
						
					 
					
						2011-11-30 06:15:35 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d52a811052 
					 
					
						
						
							
							minor bpy api edits  
						
						 
						
						... 
						
						
						
						- strict check for rna properties
- formatting edits (120 line width)
- use PyDoc_STRVAR macros for getset docstrings 
						
						
					 
					
						2011-11-26 15:18:30 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e5647ea196 
					 
					
						
						
							
							py operators - don't use the screen as an operators ID anymore, screen's don't store operator instances and operator functions have access to the context if they need the current screen.  
						
						 
						
						... 
						
						
						
						also add some more py api file descriptions. 
						
						
					 
					
						2011-11-05 08:40:07 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2b939904ab 
					 
					
						
						
							
							documentation - brief descriptions for bpy api files.  
						
						 
						
						
						
						
					 
					
						2011-11-05 08:21:12 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4b635d1631 
					 
					
						
						
							
							use generic path remapping when making all library data local, previously only image paths were getting corrected, now all paths will (scene image seq strips, pointcache etc)  
						
						 
						
						
						
						
					 
					
						2011-10-28 04:44:59 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4a04f72069 
					 
					
						
						
							
							remove $Id: tags after discussion on the mailign list:  http://markmail.org/message/fp7ozcywxum3ar7n  
						
						 
						
						
						
						
					 
					
						2011-10-23 17:52:20 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7f4bb1f71b 
					 
					
						
						
							
							spelling corrections in comments and quiet warning  
						
						 
						
						
						
						
					 
					
						2011-10-15 14:14:22 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						276e5f7095 
					 
					
						
						
							
							formatting edits & remove debug print.  
						
						 
						
						
						
						
					 
					
						2011-10-13 01:29:08 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f77af0a8ce 
					 
					
						
						
							
							change BLO_library_append_begin to take a main argument rather then a context, means the BGE doesnt need to make a new empty context just to pass as an arg.  
						
						 
						
						... 
						
						
						
						added doxygen description too.
this quiets the print when the BGE does linking. 
						
						
					 
					
						2011-08-05 05:26:19 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d46da5a09d 
					 
					
						
						
							
							mathutils support for color arithmetic, also some minor whitespace edits.  
						
						 
						
						
						
						
					 
					
						2011-06-02 08:29:16 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						06fea1a0ff 
					 
					
						
						
							
							split BLO_library_append_named_part into 2 function, one that adds objects into the scene and another that just links/appends.  
						
						 
						
						
						
						
					 
					
						2011-05-26 20:45:19 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						15289c6048 
					 
					
						
						
							
							use PyDoc_STRVAR macro, so its possible to build without docstrings.  
						
						 
						
						
						
						
					 
					
						2011-05-24 16:05:51 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						357ce16958 
					 
					
						
						
							
							loading data with bpy.data.libraries.load(), now swaps out the strings in the list to load with the actual datablocks, this is convenient because it saves the script author having to find them after.  
						
						 
						
						... 
						
						
						
						also raise warnings rather then errors if the datablock can't be found. 
						
						
					 
					
						2011-05-24 15:21:14 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						eabb444106 
					 
					
						
						
							
							minor cleanup: make functions static, use NULL for pointer comparisons,  
						
						 
						
						... 
						
						
						
						also fixed a possible bug assigning incorrect DPX function types to
imbuf. 
						
						
					 
					
						2011-05-10 13:11:36 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f86565c90e 
					 
					
						
						
							
							whitespace edits for bpy api, split some really long lines.  
						
						 
						
						
						
						
					 
					
						2011-04-30 13:58:31 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						cadc1218c8 
					 
					
						
						
							
							C, style changes (mostly white space edits), no functional change.  
						
						 
						
						
						
						
					 
					
						2011-03-19 11:12:48 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fe529d43fe 
					 
					
						
						
							
							fix for building on some configurations.  
						
						 
						
						
						
						
					 
					
						2011-03-15 01:48:01 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2d1ef275f2 
					 
					
						
						
							
							bpy.types.libraries.load sphinx doc & examples (doc system needed some updates).  
						
						 
						
						... 
						
						
						
						http://www.blender.org/documentation/blender_python_api_2_56_3/bpy.types.BlendDataLibraries.html#bpy.types.BlendDataLibraries.load  
						
						
					 
					
						2011-03-14 10:31:50 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9ec2dfe0df 
					 
					
						
						
							
							add dir() function for library objects, also was missing call to clear temp flag on exceptions.  
						
						 
						
						
						
						
					 
					
						2011-03-14 01:00:41 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						25a2eb4675 
					 
					
						
						
							
							py/library api: raise an error if a requested member isn't found.  
						
						 
						
						
						
						
					 
					
						2011-03-13 01:15:14 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						60a2994435 
					 
					
						
						
							
							SVN maintenance.  
						
						 
						
						
						
						
					 
					
						2011-03-13 00:26:46 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8c526e79e3 
					 
					
						
						
							
							library loading api.  
						
						 
						
						... 
						
						
						
						this is not well suited to RNA so this is a native python api.
This uses:
  bpy.data.libraries.load(filepath, link=False, relative=False)
however the return value needs to use pythons context manager, this means the library loading is confined to a block of code and python cant leave a half loaded library state.
eg, load a single scene we know the name of:
  with bpy.data.libraries.load(filepath) as (data_from, data_to):
      data_to.scenes = ["Scene"]
eg, load all scenes:
  with bpy.data.libraries.load(filepath) as (data_from, data_to):
      data_to.scenes = data_from.scenes
eg, load all objects starting with 'A'
  with bpy.data.libraries.load(filepath) as (data_from, data_to):
      data_to.objects = [name for name in data_from.objects if name.startswith("A")]
As you can see gives 2 objects like 'bpy.data', but containing lists of strings which can be moved from one into another. 
						
						
					 
					
						2011-03-12 16:06:37 +00:00