[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22983] branches/blender2.5/blender: - rna documentation layout now matches blenders internal layout, autogenerate packages for nested modules.

Campbell Barton ideasman42 at gmail.com
Fri Sep 4 06:29:54 CEST 2009


Revision: 22983
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22983
Author:   campbellbarton
Date:     2009-09-04 06:29:54 +0200 (Fri, 04 Sep 2009)

Log Message:
-----------
- rna documentation layout now matches blenders internal layout, autogenerate packages for nested modules.
 bpy.data, bpy.ops.object etc.
- added basic docs for bpy.props
- omit panel, menu and operator classes (took up too much space and not useful)
- exec cant be used as an operator suffix eg- CONSOLE_OT_exec --> CONSOLE_OT_execute (same for file)
- fixed some crashes when generating docs

Updated docs here
http://www.graphicall.org/ftp/ideasman42/html/

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/space_console.py
    branches/blender2.5/blender/source/blender/editors/object/object_modifier.c
    branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
    branches/blender2.5/blender/source/blender/editors/space_console/console_report.c
    branches/blender2.5/blender/source/blender/editors/space_console/space_console.c
    branches/blender2.5/blender/source/blender/editors/space_file/file_intern.h
    branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c
    branches/blender2.5/blender/source/blender/editors/space_file/space_file.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_sculpt_paint.c
    branches/blender2.5/blender/source/blender/python/epy_doc_gen.py
    branches/blender2.5/blender/source/blender/python/intern/bpy_operator_wrap.c

Modified: branches/blender2.5/blender/release/ui/space_console.py
===================================================================
--- branches/blender2.5/blender/release/ui/space_console.py	2009-09-04 04:27:06 UTC (rev 22982)
+++ branches/blender2.5/blender/release/ui/space_console.py	2009-09-04 04:29:54 UTC (rev 22983)
@@ -110,7 +110,7 @@
 	'''
 	Operator documentatuon text, will be used for the operator tooltip and python docs.
 	'''
-	__idname__ = "console.exec"
+	__idname__ = "console.execute"
 	__label__ = "Console Execute"
 	__register__ = False
 	

Modified: branches/blender2.5/blender/source/blender/editors/object/object_modifier.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/object/object_modifier.c	2009-09-04 04:27:06 UTC (rev 22982)
+++ branches/blender2.5/blender/source/blender/editors/object/object_modifier.c	2009-09-04 04:29:54 UTC (rev 22983)
@@ -434,10 +434,8 @@
 	Object *ob;
 	int totitem= 0, a;
 	
-	if(!C) /* needed for docs */
+	if(!C || !(ob= CTX_data_active_object(C))) /* needed for docs */
 		return modifier_type_items;
-	
-	ob= CTX_data_active_object(C);
 
 	for(a=0; modifier_type_items[a].identifier; a++) {
 		md_item= &modifier_type_items[a];

Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c	2009-09-04 04:27:06 UTC (rev 22982)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c	2009-09-04 04:29:54 UTC (rev 22983)
@@ -3336,7 +3336,7 @@
 	WM_keymap_verify_item(keymap, "SCRIPT_OT_python_run_ui_scripts", F8KEY, KM_PRESS, 0, 0);
 
 	/* files */
-	WM_keymap_add_item(keymap, "FILE_OT_exec", RETKEY, KM_PRESS, 0, 0);
+	WM_keymap_add_item(keymap, "FILE_OT_execute", RETKEY, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "FILE_OT_cancel", ESCKEY, KM_PRESS, 0, 0);
 	
 	/* undo */

Modified: branches/blender2.5/blender/source/blender/editors/space_console/console_report.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_console/console_report.c	2009-09-04 04:27:06 UTC (rev 22982)
+++ branches/blender2.5/blender/source/blender/editors/space_console/console_report.c	2009-09-04 04:29:54 UTC (rev 22983)
@@ -97,7 +97,7 @@
 	for(report=reports->list.last; report; report=report->prev) {
 		if((report->type & report_mask) && (report->type & RPT_OPERATOR_ALL) && (report->flag & SELECT)) {
 			console_history_add_str(C, report->message, 0);
-			WM_operator_name_call(C, "CONSOLE_OT_exec", WM_OP_EXEC_DEFAULT, NULL);
+			WM_operator_name_call(C, "CONSOLE_OT_execute", WM_OP_EXEC_DEFAULT, NULL);
 
 			ED_area_tag_redraw(CTX_wm_area(C));
 		}

Modified: branches/blender2.5/blender/source/blender/editors/space_console/space_console.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_console/space_console.c	2009-09-04 04:27:06 UTC (rev 22982)
+++ branches/blender2.5/blender/source/blender/editors/space_console/space_console.c	2009-09-04 04:29:54 UTC (rev 22983)
@@ -278,8 +278,8 @@
 	RNA_enum_set(WM_keymap_add_item(keymap, "CONSOLE_OT_delete", BACKSPACEKEY, KM_PRESS, 0, 0)->ptr, "type", DEL_PREV_CHAR);
 
 #ifndef DISABLE_PYTHON
-	WM_keymap_add_item(keymap, "CONSOLE_OT_exec", RETKEY, KM_PRESS, 0, 0); /* python operator - space_text.py */
-	WM_keymap_add_item(keymap, "CONSOLE_OT_exec", PADENTER, KM_PRESS, 0, 0);
+	WM_keymap_add_item(keymap, "CONSOLE_OT_execute", RETKEY, KM_PRESS, 0, 0); /* python operator - space_text.py */
+	WM_keymap_add_item(keymap, "CONSOLE_OT_execute", PADENTER, KM_PRESS, 0, 0);
 	
 	//WM_keymap_add_item(keymap, "CONSOLE_OT_autocomplete", TABKEY, KM_PRESS, 0, 0); /* python operator - space_text.py */
 	WM_keymap_add_item(keymap, "CONSOLE_OT_autocomplete", SPACEKEY, KM_PRESS, KM_CTRL, 0); /* python operator - space_text.py */

Modified: branches/blender2.5/blender/source/blender/editors/space_file/file_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_intern.h	2009-09-04 04:27:06 UTC (rev 22982)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_intern.h	2009-09-04 04:29:54 UTC (rev 22983)
@@ -59,7 +59,7 @@
 void FILE_OT_delete_bookmark(struct wmOperatorType *ot);
 void FILE_OT_hidedot(struct wmOperatorType *ot);
 void FILE_OT_loadimages(struct wmOperatorType *ot);
-void FILE_OT_exec(struct wmOperatorType *ot);
+void FILE_OT_execute(struct wmOperatorType *ot);
 void FILE_OT_cancel(struct wmOperatorType *ot);
 void FILE_OT_parent(struct wmOperatorType *ot);
 void FILE_OT_directory_new(struct wmOperatorType *ot);

Modified: branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c	2009-09-04 04:27:06 UTC (rev 22982)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c	2009-09-04 04:29:54 UTC (rev 22983)
@@ -566,11 +566,11 @@
 	return OPERATOR_FINISHED;
 }
 
-void FILE_OT_exec(struct wmOperatorType *ot)
+void FILE_OT_execute(struct wmOperatorType *ot)
 {
 	/* identifiers */
 	ot->name= "Execute File Window";
-	ot->idname= "FILE_OT_exec";
+	ot->idname= "FILE_OT_execute";
 	
 	/* api callbacks */
 	ot->exec= file_exec;

Modified: branches/blender2.5/blender/source/blender/editors/space_file/space_file.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/space_file.c	2009-09-04 04:27:06 UTC (rev 22982)
+++ branches/blender2.5/blender/source/blender/editors/space_file/space_file.c	2009-09-04 04:29:54 UTC (rev 22983)
@@ -330,7 +330,7 @@
 	WM_operatortype_append(FILE_OT_select_bookmark);
 	WM_operatortype_append(FILE_OT_loadimages);
 	WM_operatortype_append(FILE_OT_highlight);
-	WM_operatortype_append(FILE_OT_exec);
+	WM_operatortype_append(FILE_OT_execute);
 	WM_operatortype_append(FILE_OT_cancel);
 	WM_operatortype_append(FILE_OT_parent);
 	WM_operatortype_append(FILE_OT_previous);

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_sculpt_paint.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_sculpt_paint.c	2009-09-04 04:27:06 UTC (rev 22982)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_sculpt_paint.c	2009-09-04 04:29:54 UTC (rev 22983)
@@ -122,9 +122,6 @@
 
 static EnumPropertyItem *rna_ParticleEdit_tool_itemf(bContext *C, PointerRNA *ptr, int *free)
 {
-	Scene *scene= CTX_data_scene(C);
-	PTCacheEdit *edit;
-
 	if(C==NULL) {
 		EnumPropertyItem *item= NULL;
 		int totitem= 0;
@@ -137,13 +134,15 @@
 		
 		return item;
 	}
+	else {
+		Scene *scene= CTX_data_scene(C);
+		PTCacheEdit *edit = PE_get_current(scene, CTX_data_active_object(C));
+		
+		if(edit && edit->psys)
+			return particle_edit_hair_brush_items;
 
-	edit = PE_get_current(scene, CTX_data_active_object(C));
-	
-	if(edit && edit->psys)
-		return particle_edit_hair_brush_items;
-
-	return particle_edit_cache_brush_items;
+		return particle_edit_cache_brush_items;
+	}
 }
 
 static int rna_ParticleEdit_editable_get(PointerRNA *ptr)

Modified: branches/blender2.5/blender/source/blender/python/epy_doc_gen.py
===================================================================
--- branches/blender2.5/blender/source/blender/python/epy_doc_gen.py	2009-09-04 04:27:06 UTC (rev 22982)
+++ branches/blender2.5/blender/source/blender/python/epy_doc_gen.py	2009-09-04 04:29:54 UTC (rev 22983)
@@ -37,6 +37,94 @@
 
 # if you dont have graphvis installed ommit the --graph arg.
 
+# GLOBALS['BASEDIR'] = './source/blender/python/doc'
+
+import os
+
+SUBMODULES = {}
+INIT_SUBMODULES = {}			# store initialized files
+
+INIT_SUBMODULES_IMPORTS = {}	# dont import the same module twice
+
+def append_package(package_path, mod_name):
+	
+	init_path =	os.path.join(os.path.dirname(package_path), "__init__.py")
+	
+	# avoid double ups
+	if mod_name:
+		imports = INIT_SUBMODULES_IMPORTS.setdefault(init_path, [])
+		if mod_name in imports:
+			return
+		imports.append(mod_name)
+		
+	try:
+		os.makedirs(os.path.dirname(init_path)) # make the dirs if they are not there
+	except:
+		pass
+	
+	# Open the new file for the first time, otherwise keep it open.
+	f = INIT_SUBMODULES.get(init_path)
+	if f == None:
+		f = INIT_SUBMODULES[init_path] = open(init_path, 'w')
+	
+	if mod_name:
+		f.write("import %s\n" % mod_name)
+		
+	return f
+
+def append_package_recursive(package_path, BASEPATH):
+	'''
+	assume the last item of package_path will be a file (not a dir thats created)
+	'''
+	
+	package_path = os.path.splitext(package_path)[0] # incase of .py
+	
+	try:
+		os.makedirs(os.path.join(BASEPATH, os.path.dirname(package_path))) # make the dirs if they are not there
+	except:
+		pass
+	
+	new_path = BASEPATH
+	
+	for mod_name in package_path.split(os.sep):
+		init_path =	os.path.join(new_path, "__init__.py")
+		new_path = os.path.join(new_path, mod_name)
+		append_package(init_path, mod_name)
+
+
+def open_submodule(subpath, BASEPATH):
+	'''
+	This is a utility function that lets us quickly add submodules
+	'''
+	
+	# create all the package paths leading up to this module
+	append_package_recursive(subpath, BASEPATH)
+	
+	module_name =		os.path.basename( os.path.splitext(subpath)[0] )
+	mod_path =	os.path.join(BASEPATH, subpath)
+	
+	# Open the new file for the first time, otherwise keep it open.
+	f = SUBMODULES.get(mod_path)
+	if f == None:
+		f = SUBMODULES[mod_path] = open(mod_path, 'w')
+
+	f = open(mod_path, 'w')
+	return f
+
+def close_all():
+	for files in (INIT_SUBMODULES.values(), SUBMODULES.values()):
+		for f in files:
+			if f.name.endswith('.py'):
+				f_name = f.name 
+				f.close()
+				
+				f = open(f_name, 'a')
+				f.write("\ndel __package__\n") # annoying, no need do show this
+			
+			
+			f.close()
+
+
 def range_str(val):
 	if val < -10000000:	return '-inf'
 	if val >  10000000:	return 'inf'
@@ -59,6 +147,19 @@
 	else:
 		return rna_struct.identifier
 
+def rna_id_ignore(rna_id):
+	if rna_id == "rna_type":
+		return True
+	
+	if "_OT_" in rna_id:
+		return True
+	if "_MT_" in rna_id:
+		return True
+	if "_PT_" in rna_id:

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list