Skip to content

Commit d16a62e

Browse files
authored
Merge pull request #244 from AgriculturalModelExchangeInitiative/issue243
Issue243
2 parents 8255bb3 + 90cb52c commit d16a62e

File tree

1 file changed

+10
-20
lines changed

1 file changed

+10
-20
lines changed

src/pycropml/transpiler/codeGenerator.py

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -142,27 +142,17 @@ def emit_string(self, node, prefix=u''):
142142

143143

144144
def safe_double(self, node):
145-
if sys.version_info.major<3:
146-
if '"' in node.value:
147-
if "'" in node.value:
148-
s = '"%s"' % node.value.replace('"', '\\"')
149-
else:
150-
s = "'%s'" % node.value
151-
else:
152-
s = '"%s"' % node.value
153-
else:
154-
if b'"' in node.value:
155-
if b"'" in node.value:
156-
s = '"%s"' % node.value.replace('"', '\\"')
157-
else:
158-
#s = "'%s'" % node.value
159-
s = node.value.decode()
160-
else:
161-
#s = '"%s"' % node.value
162-
s = '"%s"' % node.value.decode()
163-
164-
self.write(s)
145+
# Decode the byte string to a normal string if it's in byte form
146+
value = node.value.decode() if isinstance(node.value, bytes) else node.value
165147

148+
# Escape any existing double quotes in the value
149+
escaped_value = value.replace('"', '')
150+
escaped_value = escaped_value.replace("'", "")
151+
152+
# Wrap the result in double quotes and return
153+
self.write(f'"{escaped_value}"')
154+
155+
166156
def visit_simpleCall(self, node):
167157
self.visit(node.value)
168158
self.write(" %s "%node.op)

0 commit comments

Comments
 (0)