]> granicus.if.org Git - python/commitdiff
* fix issue#7476
authorJack Diederich <jackdied@gmail.com>
Mon, 22 Feb 2010 21:27:38 +0000 (21:27 +0000)
committerJack Diederich <jackdied@gmail.com>
Mon, 22 Feb 2010 21:27:38 +0000 (21:27 +0000)
Lib/pipes.py
Lib/test/test_pipes.py
Misc/ACKS

index 6dcc997b4c7327471116aa56a186ebdd482c8c16..25e99159b8a1e86a8ceeab9001d70acbd4b1649a 100644 (file)
@@ -267,10 +267,13 @@ _safechars = string.ascii_letters + string.digits + '!@%_-+=:,./' # Safe unquote
 _funnychars = '"`$\\'                           # Unsafe inside "double quotes"
 
 def quote(file):
+    ''' return a shell-escaped version of the file string '''
     for c in file:
         if c not in _safechars:
             break
     else:
+        if not file:
+            return "''"
         return file
     if '\'' not in file:
         return '\'' + file + '\''
index d1053e8ae150a9342e1ff30dcaa07f3fd5c75647..a6385984031e8779f8c2981e0f897b0e04dbcd63 100644 (file)
@@ -76,6 +76,8 @@ class SimplePipeTests(unittest.TestCase):
             self.assertEqual(pipes.quote("test%s'name'" % u),
                               '"test\\%s\'name\'"' % u)
 
+        self.assertEqual(pipes.quote(''), "''")
+
     def testRepr(self):
         t = pipes.Template()
         self.assertEqual(repr(t), "<Template instance, steps=[]>")
index e70db576504463170c3bc2afc3b0a4f0a640ef99..3fb65e0317330289c5a26b799faa67023425dc0f 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -819,6 +819,7 @@ Dik Winter
 Blake Winton
 Jean-Claude Wippler
 Lars Wirzenius
+John Wiseman
 Chris Withers
 Stefan Witzel
 David Wolever