Revision: 17402
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17402
Author:   campbellbarton
Date:     2008-11-11 09:21:09 +0100 (Tue, 11 Nov 2008)

Log Message:
-----------
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

Modified Paths:
--------------
    trunk/blender/release/scripts/image_edit.py

Modified: trunk/blender/release/scripts/image_edit.py
===================================================================
--- trunk/blender/release/scripts/image_edit.py 2008-11-11 05:03:03 UTC (rev 
17401)
+++ trunk/blender/release/scripts/image_edit.py 2008-11-11 08:21:09 UTC (rev 
17402)
@@ -60,6 +60,26 @@
        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 @@
                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,15 +146,10 @@
        
        # -------------------------------
        
-       # 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():
        edit_extern()
        


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to