##// END OF EJS Templates
Backport PR #2773: Fixed minor typo causing AttributeError to be thrown....
Backport PR #2773: Fixed minor typo causing AttributeError to be thrown. I'm not sure how I caused the error to be thrown and couldn't reproduce it with the same call again, nevertheless I think the fix is correct. ```python In [21]: rc.shutdown(hub=True) Traceback (most recent call last): File "<ipython-input-21-977a05a15f31>", line 1, in <module> rc.shutdown(hub=True) File "<string>", line 2, in shutdown File "c:\dev\code\ipython\IPython\parallel\client\client.py", line 69, in spin_first self.spin() File "c:\dev\code\ipython\IPython\parallel\client\client.py", line 1005, in spin self._flush_notifications() File "c:\dev\code\ipython\IPython\parallel\client\client.py", line 800, in _flush_notifications raise Exception("Unhandled message type: %s"%msg.msg_type) AttributeError: 'dict' object has no attribute 'msg_type' ```

File last commit:

r4872:34c10438
r9855:7ad908bf
Show More
ipy_workdir.py
41 lines | 1.0 KiB | text/x-python | PythonLexer
Brian Granger
ipapi.py => core/ipapi.py and imports updated.
r2027 from IPython.core import ipapi
ip = ipapi.get()
vivainio
crlf normalization
r851
import os, subprocess
workdir = None
def workdir_f(ip,line):
Bernardo B. Marques
remove all trailling spaces
r4872 """ Exceute commands residing in cwd elsewhere
vivainio
crlf normalization
r851 Example::
Bernardo B. Marques
remove all trailling spaces
r4872
vivainio
crlf normalization
r851 workdir /myfiles
cd bin
Bernardo B. Marques
remove all trailling spaces
r4872 workdir myscript.py
vivainio
crlf normalization
r851 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
Jörgen Stenarson
Search of getcwd and replace with getcwdu. Ignoring core/prompts.py
r4208 olddir = os.getcwdu()
vivainio
crlf normalization
r851 os.chdir(workdir)
try:
os.system(cmd)
finally:
os.chdir(olddir)
Brian Granger
Continuing a massive refactor of everything.
r2205 ip.define_alias("workdir",workdir_f)