return expr
@method(AST.TypeDict)
def generate_serialize(self, context, expr):
+ indent_save = context.indent
if self.is_json:
result = expr
elif isinstance(self.children[0], AST.TypeStr):
result = '''{{
{0:s} {1:s}:
{2:s} {3:s}
-{4:s} for i in {5:s}
+{4:s} for k, v in {5:s}.items()
{6:s}}}'''.format(
indent_save,
- self.children[0].generate_serialize(context, 'i[0]'),
+ self.children[0].generate_serialize(context, 'k'),
indent_save,
- self.children[0].generate_serialize(context, 'i[1]'),
+ self.children[1].generate_serialize(context, 'v'),
indent_save,
expr,
indent_save
indent_save,
self.children[0].generate_serialize(context, 'k'),
indent_save,
- self.children[0].generate_serialize(context, 'v'),
+ self.children[1].generate_serialize(context, 'v'),
indent_save,
indent_save,
expr,
def post_process(self):
self.children[0].post_process()
self.children[1].post_process()
- self.is_json = isinstance(self.children[0], AST.TypeString) and self.children[1].is_json
+ self.is_json = isinstance(self.children[0], AST.TypeStr) and self.children[1].is_json
@method(AST.TypeInt)
def post_process(self):
self.is_json = True