mirror of https://github.com/python/cpython
* fix issue#7476
This commit is contained in:
parent
f2055ae43d
commit
5cac46dd41
|
@ -267,10 +267,13 @@ _safechars = string.ascii_letters + string.digits + '!@%_-+=:,./' # Safe unquote
|
||||||
_funnychars = '"`$\\' # Unsafe inside "double quotes"
|
_funnychars = '"`$\\' # Unsafe inside "double quotes"
|
||||||
|
|
||||||
def quote(file):
|
def quote(file):
|
||||||
|
''' return a shell-escaped version of the file string '''
|
||||||
for c in file:
|
for c in file:
|
||||||
if c not in _safechars:
|
if c not in _safechars:
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
|
if not file:
|
||||||
|
return "''"
|
||||||
return file
|
return file
|
||||||
if '\'' not in file:
|
if '\'' not in file:
|
||||||
return '\'' + file + '\''
|
return '\'' + file + '\''
|
||||||
|
|
|
@ -76,6 +76,8 @@ class SimplePipeTests(unittest.TestCase):
|
||||||
self.assertEqual(pipes.quote("test%s'name'" % u),
|
self.assertEqual(pipes.quote("test%s'name'" % u),
|
||||||
'"test\\%s\'name\'"' % u)
|
'"test\\%s\'name\'"' % u)
|
||||||
|
|
||||||
|
self.assertEqual(pipes.quote(''), "''")
|
||||||
|
|
||||||
def testRepr(self):
|
def testRepr(self):
|
||||||
t = pipes.Template()
|
t = pipes.Template()
|
||||||
self.assertEqual(repr(t), "<Template instance, steps=[]>")
|
self.assertEqual(repr(t), "<Template instance, steps=[]>")
|
||||||
|
|
Loading…
Reference in New Issue