|
From: <mor...@us...> - 2010-08-30 11:46:12
|
Revision: 3853
http://ecell.svn.sourceforge.net/ecell/?rev=3853&view=rev
Author: moriyoshi
Date: 2010-08-30 11:46:06 +0000 (Mon, 30 Aug 2010)
Log Message:
-----------
* Do not implicitly chdir to the directory where the session script is placed.
Modified Paths:
--------------
ecell3/trunk/ecell/pyecell/ecell3-session.in
Modified: ecell3/trunk/ecell/pyecell/ecell3-session.in
===================================================================
--- ecell3/trunk/ecell/pyecell/ecell3-session.in 2010-08-30 11:30:15 UTC (rev 3852)
+++ ecell3/trunk/ecell/pyecell/ecell3-session.in 2010-08-30 11:46:06 UTC (rev 3853)
@@ -49,11 +49,8 @@
# Session methods
def loadScript( self, ecs, parameters={} ):
- ( ecsDir, ecsFile ) = os.path.split( ecs )
- if ecsDir != '':
- os.chdir( ecsDir )
aContext = self.__createScriptContext( parameters )
- execfile( ecsFile, aContext )
+ execfile( ecs, aContext )
def interact( self, parameters = {} ):
aContext = self.__createScriptContext( parameters )
@@ -83,6 +80,8 @@
Options:
+ -C : change to the directory where
+ the script (.ess) file is placed.
-e or --exec=[.ess file] : load script (.ess) file
-f or --file=[.eml file] : load model (.eml) file
@@ -115,6 +114,7 @@
# -------------------------------------
anEmlFile = None
anEssFile = None
+ chdirToEssFile = False
anEmlFlag = 0
aParameters = {}
@@ -139,7 +139,7 @@
# -------------------------------------
try:
opts, args = getopt.gnu_getopt(
- sys.argv[ 1: ] , 'he:f:D:',
+ sys.argv[ 1: ] , 'he:f:D:C',
[ "parameters=", "help", "exec=", "file=" ] )
except:
usage()
@@ -171,6 +171,10 @@
sys.exit( -1 )
anEmlFile = anArg
+ # change directory where ESS file is placed.
+ if anOption == "-C":
+ chdirToEssFile = True
+
# set session parameters
if anOption == "-D":
aSplitArgList = anArg.split( '=' )
@@ -226,6 +230,9 @@
aSession.loadModel( anEmlFile )
if anEssFile:
+ if chdirToEssFile:
+ anEssDirectory, anEssFile = os.path.split( anEssFile )
+ os.chdir( anEssDirectory )
aConsole.loadScript( anEssFile, aParameters )
else:
aConsole.interact( aParameters )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|