[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17402] trunk/blender/release/scripts/ image_edit.py: 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
Campbell Barton
ideasman42 at gmail.com
Tue Nov 11 09:21:09 CET 2008
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()
More information about the Bf-blender-cvs
mailing list