changeset 418:b5f904daae83

fix xclip trapping bug
author catherine.devlin@gmail.com
date Wed, 02 Feb 2011 08:13:03 -0500
parents db32ab37051b
children fd8a2da973cb
files cmd2.py
diffstat 1 files changed, 10 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/cmd2.py	Wed Feb 02 08:00:26 2011 -0500
+++ b/cmd2.py	Wed Feb 02 08:13:03 2011 -0500
@@ -189,15 +189,16 @@
         subprocess.check_call('xclip -o -sel clip', shell=True, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE)
         can_clip = True
     except AttributeError:  # check_call not defined, Python < 2.5
-        teststring = 'Testing for presence of xclip.'
-        xclipproc = subprocess.Popen('xclip -sel clip', shell=True, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
-        xclipproc.stdin.write(teststring)
-        xclipproc.stdin.close()
-        xclipproc = subprocess.Popen('xclip -o -sel clip', shell=True, stdout=subprocess.PIPE, stdin=subprocess.PIPE)        
-        if xclipproc.stdout.read() == teststring:
-            can_clip = True
-    except (subprocess.CalledProcessError, OSError, IOError):
-        pass
+        try:
+            teststring = 'Testing for presence of xclip.'
+            xclipproc = subprocess.Popen('xclip -sel clip', shell=True, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
+            xclipproc.stdin.write(teststring)
+            xclipproc.stdin.close()
+            xclipproc = subprocess.Popen('xclip -o -sel clip', shell=True, stdout=subprocess.PIPE, stdin=subprocess.PIPE)        
+            if xclipproc.stdout.read() == teststring:
+                can_clip = True
+        except (subprocess.CalledProcessError, OSError, IOError):
+            pass
     if can_clip:    
         def get_paste_buffer():
             xclipproc = subprocess.Popen('xclip -o -sel clip', shell=True, stdout=subprocess.PIPE, stdin=subprocess.PIPE)