Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What permissions are required for subprocess.Popen?

The following code:

gb = self.request.form['groupby']
typ = self.request.form['type']
tbl = self.request.form['table']

primary = self.request.form.get('primary', None)

if primary is not None:
    create = False
else:
create = True

mdb = tempfile.NamedTemporaryFile()
mdb.write(self.request.form['mdb'].read())
mdb.seek(0)

csv = tempfile.TemporaryFile()
conversion = subprocess.Popen(("/Users/jondoe/development/mdb-export", mdb.name, tbl,),stdout=csv)

Causes the this error when calling the last line i.e. 'conversion =' in OS X.

Traceback (innermost last):
  Module ZPublisher.Publish, line 119, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 42, in call_object
  Module circulartriangle.mdbtoat.mdb, line 62, in __call__
  Module subprocess, line 543, in __init__
  Module subprocess, line 975, in _execute_child
OSError: [Errno 13] Permission denied

I've tried chmod 777 /Users/jondoe/development/mdb-export - what else might be required?

like image 252
Jon Hadley Avatar asked Jan 14 '10 17:01

Jon Hadley


1 Answers

Assuming that permissions on parent folders are correct (i.e. all parent folders should have +x permission), try adding:

shell=True

to the Popen command such as:

subprocess.Popen(("/Users/jondoe/development/mdb-export", mdb.name, tbl,), stdout=csv, shell=True)
like image 108
unode Avatar answered Sep 22 '22 12:09

unode