Question #225815 on Sikuli changed:
https://answers.launchpad.net/sikuli/+question/225815

    Status: Open => Answered

RaiMan proposed the following answer:
Since execfile() runs the code in the context of your mainscript, using
exit() will always terminate your whole script.

Normally, one would pack the code of each script into a def(), import the 
subscript (which would solve the image problem too) and call the def, which 
simply returns, when finished.
see 
http://doc.sikuli.org/globals.html#importing-other-sikuli-scripts-reuse-code-and-images
 
If you do not want to do that, the easiest (as few changes as possible) way to 
achieve what you want, is to use
raise SystemExit

instead of 
exit()

in your "batch" scripts

your main script then needs to catch this exception:

...
scripts = ["step1","step2","step3"]
for script in scripts:
       scriptPath = os.path.join(Base_dir, script+".sikuli")
       if not scriptPath in sys.path:
              sys.path.append(scriptPath)
       try:        
              execfile(os.path.join(scriptPath, script+".py"))
       except SystemExit:
              pass # do nothing in this case
...

all other exceptions will stop the main script

-- 
You received this question notification because you are a member of
Sikuli Drivers, which is an answer contact for Sikuli.

_______________________________________________
Mailing list: https://launchpad.net/~sikuli-driver
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~sikuli-driver
More help   : https://help.launchpad.net/ListHelp

Reply via email to