summaryrefslogtreecommitdiff
path: root/sqlparse/sql.py
diff options
context:
space:
mode:
authorOleg Broytman <phd@phdru.name>2016-08-05 22:18:40 +0300
committerOleg Broytman <phd@phdru.name>2016-08-06 01:47:51 +0300
commit17d5f8c1b6002019d5f078fbc6a56f351a5efeef (patch)
tree2f8133297f074d30cebf58f741cbc3736f32b3b9 /sqlparse/sql.py
parentb7e6ce7b7f687be884eea65df0e576c15b0331dc (diff)
downloadsqlparse-17d5f8c1b6002019d5f078fbc6a56f351a5efeef.tar.gz
Avoid double apostrophes
If the value is Single it's already quoted with apostrophes. Avoid double apostrophes it that case by using double-quotes instead. For example, if the value is 'value' the output is "'value'" instead of ''value''.
Diffstat (limited to 'sqlparse/sql.py')
-rw-r--r--sqlparse/sql.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/sqlparse/sql.py b/sqlparse/sql.py
index 53c16be..8b530bd 100644
--- a/sqlparse/sql.py
+++ b/sqlparse/sql.py
@@ -44,7 +44,12 @@ class Token(object):
def __repr__(self):
cls = self._get_repr_name()
value = self._get_repr_value()
- return "<{cls} '{value}' at 0x{id:2X}>".format(id=id(self), **locals())
+ if value.startswith("'") and value.endswith("'"):
+ q = '"'
+ else:
+ q = "'"
+ return "<{cls} {q}{value}{q} at 0x{id:2X}>".format(
+ id=id(self), **locals())
def _get_repr_name(self):
return str(self.ttype).split('.')[-1]
@@ -165,7 +170,11 @@ class TokenList(Token):
for idx, token in enumerate(self.tokens):
cls = token._get_repr_name()
value = token._get_repr_value()
- print("{indent}{idx:2d} {cls} '{value}'"
+ if value.startswith("'") and value.endswith("'"):
+ q = '"'
+ else:
+ q = "'"
+ print("{indent}{idx:2d} {cls} {q}{value}{q}"
.format(**locals()), file=f)
if token.is_group() and (max_depth is None or depth < max_depth):