[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11646] trunk/blender/source/creator/ creator.c: New command line switch --

Stephen Swaney sswaney at centurytel.net
Sat Aug 18 02:02:50 CEST 2007


Revision: 11646
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11646
Author:   stiv
Date:     2007-08-18 02:02:50 +0200 (Sat, 18 Aug 2007)

Log Message:
-----------
New command line switch --

Add a new command line switch "--" for passing arguments to scripts.
Any arguments after -- are not processed and passed unchanged via
the usual argv mechanism.

Custom arguments can be accessed from a bpy script in python's 
sys.argv.  Example:

import sys

# slice argv after '--'
i = sys.argv.index('--')
my_args = sys.argv[i+1:]  

Modified Paths:
--------------
    trunk/blender/source/creator/creator.c

Modified: trunk/blender/source/creator/creator.c
===================================================================
--- trunk/blender/source/creator/creator.c	2007-08-17 17:52:04 UTC (rev 11645)
+++ trunk/blender/source/creator/creator.c	2007-08-18 00:02:50 UTC (rev 11646)
@@ -216,6 +216,8 @@
 	printf ("  -R\t\tRegister .blend extension\n");
 #endif
 	printf ("  -v\t\tPrint Blender version and exit\n");
+	printf ("  --\t\tEnds option processing.  Following arguments are \n");
+	printf ("    \t\t   passed unchanged.  Access via Python's sys.argv\n");
 }
 
 
@@ -314,6 +316,12 @@
 			exit(0);
 		}
 
+		/* end argument processing after -- */
+		if (!strcmp( argv[a], "--")){
+			a = argc;
+			break;
+		}
+
 		/* Handle long version request */
 		if (!strcmp(argv[a], "--version")){
 			print_version();
@@ -500,6 +508,10 @@
 
 		if(argv[a][0] == '-') {
 			switch(argv[a][1]) {
+			case '-':  /* -- ends argument processing */
+				a = argc;
+				break;
+				
 			case 'p':	/* prefsize */
 				a+= 4;
 				break;





More information about the Bf-blender-cvs mailing list