decompiler: Use single quotes

This commit is contained in:
James Westman 2023-09-28 14:51:16 -05:00
parent ea92838cf3
commit 3d5a5521aa
15 changed files with 49 additions and 41 deletions

View file

@ -138,7 +138,7 @@ class DecompileCtx:
return value.replace("-", "_")
if type is None:
self.print(f'{name}: "{escape_quote(value)}";')
self.print(f"{name}: {escape_quote(value)};")
elif type.assignable_to(FloatType()):
self.print(f"{name}: {value};")
elif type.assignable_to(BoolType()):
@ -157,7 +157,7 @@ class DecompileCtx:
self.gir.namespaces["Gtk"].lookup_type("Gtk.ShortcutTrigger")
)
):
self.print(f'{name}: "{escape_quote(value)}";')
self.print(f"{name}: {escape_quote(value)};")
elif value == self.template_class:
self.print(f"{name}: template;")
elif type.assignable_to(
@ -170,7 +170,7 @@ class DecompileCtx:
elif isinstance(type, Enumeration):
self.print(f"{name}: {get_enum_name(value)};")
else:
self.print(f'{name}: "{escape_quote(value)}";')
self.print(f"{name}: {escape_quote(value)};")
def _decompile_element(
@ -280,11 +280,11 @@ def decompile_translatable(
comments = f"/* Translators: {comments} */"
if context is not None:
return comments, f'C_("{escape_quote(context)}", "{escape_quote(string)}")'
return comments, f"C_({escape_quote(context)}, {escape_quote(string)})"
else:
return comments, f'_("{escape_quote(string)}")'
return comments, f"_({escape_quote(string)})"
else:
return comments, f'"{escape_quote(string)}"'
return comments, f"{escape_quote(string)}"
@decompiler("property", cdata=True)
@ -325,7 +325,7 @@ def decompile_property(
ctx.print(comments)
ctx.print(f"{name}: {translatable};")
elif gir is None or gir.properties.get(name) is None:
ctx.print(f'{name}: "{escape_quote(cdata)}";')
ctx.print(f"{name}: {escape_quote(cdata)};")
else:
ctx.print_attribute(name, cdata, gir.properties.get(name).type)
return gir

View file

@ -231,7 +231,7 @@ def decompile_relation(ctx, gir, name, cdata):
@decompiler("state", cdata=True)
def decompile_state(ctx, gir, name, cdata, translatable="false"):
if decompile.truthy(translatable):
ctx.print(f'{name}: _("{escape_quote(cdata)}");')
ctx.print(f"{name}: _({escape_quote(cdata)});")
else:
ctx.print_attribute(name, cdata, get_types(ctx.gir).get(name))

View file

@ -119,7 +119,7 @@ def decompile_mime_types(ctx, gir):
@decompiler("mime-type", cdata=True)
def decompile_mime_type(ctx, gir, cdata):
ctx.print(f'"{cdata}",')
ctx.print(f"{escape_quote(cdata)},")
@decompiler("patterns")
@ -129,7 +129,7 @@ def decompile_patterns(ctx, gir):
@decompiler("pattern", cdata=True)
def decompile_pattern(ctx, gir, cdata):
ctx.print(f'"{cdata}",')
ctx.print(f"{escape_quote(cdata)},")
@decompiler("suffixes")
@ -139,4 +139,4 @@ def decompile_suffixes(ctx, gir):
@decompiler("suffix", cdata=True)
def decompile_suffix(ctx, gir, cdata):
ctx.print(f'"{cdata}",')
ctx.print(f"{escape_quote(cdata)},")

View file

@ -109,11 +109,14 @@ class UnescapeError(Exception):
def escape_quote(string: str) -> str:
return (
string.replace("\\", "\\\\")
.replace("'", "\\'")
.replace('"', '\\"')
.replace("\n", "\\n")
.replace("\t", "\\t")
"'"
+ (
string.replace("\\", "\\\\")
.replace("'", "\\'")
.replace("\n", "\\n")
.replace("\t", "\\t")
)
+ "'"
)