[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24332] trunk/blender: - missing return values

Campbell Barton ideasman42 at gmail.com
Wed Nov 4 23:36:46 CET 2009


Revision: 24332
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24332
Author:   campbellbarton
Date:     2009-11-04 23:36:46 +0100 (Wed, 04 Nov 2009)

Log Message:
-----------
- missing return values
- more detailed exceptions (always give file:line incase the python exception doesnt)
- fix some errors in the edit docs

editing docs still fails, need to figure out why.

Modified Paths:
--------------
    trunk/blender/release/scripts/op/wm.py
    trunk/blender/source/blender/python/intern/bpy_operator_wrap.c
    trunk/blender/source/blender/python/intern/bpy_util.c
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: trunk/blender/release/scripts/op/wm.py
===================================================================
--- trunk/blender/release/scripts/op/wm.py	2009-11-04 21:21:30 UTC (rev 24331)
+++ trunk/blender/release/scripts/op/wm.py	2009-11-04 22:36:46 UTC (rev 24332)
@@ -321,7 +321,7 @@
         class_name, class_prop = self.doc_id.split('.')
 
         if not self.doc_new:
-            return 'OPERATOR_CANCELLED'
+            return ('CANCELLED',)
 
         # check if this is an operator
         op_name = class_name.upper() + '_OT_' + class_prop
@@ -334,7 +334,7 @@
             rna = op_class.bl_rna
             doc_orig = rna.description
             if doc_orig == self.doc_new:
-                return 'OPERATOR_CANCELLED'
+                return ('CANCELLED',)
 
             print("op - old:'%s' -> new:'%s'" % (doc_orig, self.doc_new))
             upload["title"] = 'OPERATOR %s:%s' % (self.doc_id, doc_orig)
@@ -346,7 +346,7 @@
             rna = getattr(bpy.types, class_name).bl_rna
             doc_orig = rna.properties[class_prop].description
             if doc_orig == self.doc_new:
-                return 'OPERATOR_CANCELLED'
+                return ('CANCELLED',)
 
             print("rna - old:'%s' -> new:'%s'" % (doc_orig, self.doc_new))
             upload["title"] = 'RNA %s:%s' % s(self.doc_id, doc_orig)

Modified: trunk/blender/source/blender/python/intern/bpy_operator_wrap.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_operator_wrap.c	2009-11-04 21:21:30 UTC (rev 24331)
+++ trunk/blender/source/blender/python/intern/bpy_operator_wrap.c	2009-11-04 22:36:46 UTC (rev 24332)
@@ -178,8 +178,10 @@
 			
 		} else if (BPY_flag_from_seq(pyop_ret_flags, ret, &ret_flag) == -1) {
 			/* the returned value could not be converted into a flag */
-			if(op)
+			if(op) {
+				fprintf(stderr, "error using return value from \"%s\"\n", op->idname); // for some reason the error raised doesnt include file:line... this helps
 				BPy_errors_to_report(op->reports);
+			}
 
 			ret_flag = OPERATOR_CANCELLED;
 		}

Modified: trunk/blender/source/blender/python/intern/bpy_util.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_util.c	2009-11-04 21:21:30 UTC (rev 24331)
+++ trunk/blender/source/blender/python/intern/bpy_util.c	2009-11-04 22:36:46 UTC (rev 24332)
@@ -69,7 +69,7 @@
 		BLI_dynstr_appendf(dynstr, fd!=flagdef?", '%s'":"'%s'", fd->name);
 		fd++;
 	}
-	
+
 	cstring = BLI_dynstr_get_cstring(dynstr);
 	BLI_dynstr_free(dynstr);
 	return cstring;
@@ -414,7 +414,10 @@
 {
 	PyObject *pystring;
 	char *cstring;
-	
+
+	char *filename;
+	int lineno;
+
 	if (!PyErr_Occurred())
 		return 1;
 	
@@ -432,10 +435,15 @@
 		return 0;
 	}
 	
+	BPY_getFileAndNum(&filename, &lineno);
+	
 	cstring= _PyUnicode_AsString(pystring);
 	
-	BKE_report(reports, RPT_ERROR, cstring);
-	fprintf(stderr, "%s\n", cstring); // not exactly needed. just for testing
+	BKE_reportf(reports, RPT_ERROR, "%s\nlocation:%s:%d\n", cstring, filename, lineno);
+	
+	fprintf(stderr, "%s\nlocation:%s:%d\n", cstring, filename, lineno); // not exactly needed. just for testing
+	
 	Py_DECREF(pystring);
 	return 1;
 }
+

Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2009-11-04 21:21:30 UTC (rev 24331)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2009-11-04 22:36:46 UTC (rev 24332)
@@ -2470,9 +2470,9 @@
 /* can add more */
 EnumPropertyItem *RNA_group_itemf(bContext *C, PointerRNA *ptr, int *free)
 {
-	rna_id_itemf(C, ptr, free, (ID *)CTX_data_main(C)->group.first);
+	return rna_id_itemf(C, ptr, free, (ID *)CTX_data_main(C)->group.first);
 }
 EnumPropertyItem *RNA_scene_itemf(bContext *C, PointerRNA *ptr, int *free)
 {
-	rna_id_itemf(C, ptr, free, (ID *)CTX_data_main(C)->scene.first);
+	return rna_id_itemf(C, ptr, free, (ID *)CTX_data_main(C)->scene.first);
 }





More information about the Bf-blender-cvs mailing list