diff options
author | Campbell Barton <ideasman42@gmail.com> | 2008-11-11 11:21:09 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2008-11-11 11:21:09 +0300 |
commit | 5161c2ee3a6de421c47bd5e02bb6be4fe54191dc (patch) | |
tree | 267a72597df9b67b52bb2fa158969faea3725954 /release | |
parent | db67426dbf0a5424e6974d291dd80d23db6d5ac5 (diff) |
attempt to make executing an external command work with python 2.4 & 2.5, it seems that only py 2.6 wanted list args for subprocess.Popen
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/image_edit.py | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/release/scripts/image_edit.py b/release/scripts/image_edit.py index fb0a82b8916..cae40b74097 100644 --- a/release/scripts/image_edit.py +++ b/release/scripts/image_edit.py @@ -60,6 +60,26 @@ except: Draw.PupMenu('Error: Recent version of Python not installed.') subprocess=None +def os_run(appstring, filename): + ''' + Run the app, take into account different python versions etc + looks like python 2.6 wants a list for + ''' + + # evil trick, temp replace spaces so we can allow spaces in filenames + # also allows multiple instances of %f + appstring = appstring.replace(' ', '\t') + appstring = appstring.replace('%f', filename) + appstring = appstring.split('\t') + + print ' '.join(appstring) + + try: # only python 2.6 wants a list? + p = subprocess.Popen(appstring) + except: + p = subprocess.Popen(' '.join(appstring)) + + def edit_extern(image=None): if not image: @@ -101,7 +121,7 @@ def edit_extern(image=None): elif platform == 'darwin': appstring = 'open "%f"' else: - appstring = 'gimp-remote "%f"' + appstring = 'gimp %f' appstring_but = Draw.Create(appstring) save_default_but = Draw.Create(0) @@ -126,13 +146,8 @@ def edit_extern(image=None): # ------------------------------- - # evil trick, temp replace spaces so we can allow spaces in filenames - appstring = appstring.replace(' ', '\t') - - appstring = appstring.replace('%f', imageFileName) - appstring = appstring.split('\t') - print 'Editing image with command "%s"' % appstring - p = subprocess.Popen(appstring) + os_run(appstring, imageFileName) + def main(): |