##// END OF EJS Templates
Prevents crash on some systems where chmod fails (e.g. sshfs on Windows)....
Prevents crash on some systems where chmod fails (e.g. sshfs on Windows). Also make ProfileDir a LoggingConfigurable, so it can log the new message closes gh-773

File last commit:

r4872:34c10438
r5197:fbd82bdf
Show More
ipy_workdir.py
41 lines | 1.0 KiB | text/x-python | PythonLexer
from IPython.core import ipapi
ip = ipapi.get()
import os, subprocess
workdir = None
def workdir_f(ip,line):
""" Exceute commands residing in cwd elsewhere
Example::
workdir /myfiles
cd bin
workdir myscript.py
executes myscript.py (stored in bin, but not in path) in /myfiles
"""
global workdir
dummy,cmd = line.split(None,1)
if os.path.isdir(cmd):
workdir = os.path.abspath(cmd)
print "Set workdir",workdir
elif workdir is None:
print "Please set workdir first by doing e.g. 'workdir q:/'"
else:
sp = cmd.split(None,1)
if len(sp) == 1:
head, tail = cmd, ''
else:
head, tail = sp
if os.path.isfile(head):
cmd = os.path.abspath(head) + ' ' + tail
print "Execute command '" + cmd+ "' in",workdir
olddir = os.getcwdu()
os.chdir(workdir)
try:
os.system(cmd)
finally:
os.chdir(olddir)
ip.define_alias("workdir",workdir_f)