From 9c66f0b2b48dc8ed526b4a253719aa974f71254d Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 24 Dec 2017 15:14:54 +0100 Subject: [PATCH] Fix empty strings not working as expected for flag parameters --- telethon_generator/tl_generator.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/telethon_generator/tl_generator.py b/telethon_generator/tl_generator.py index 60f07bd6..f8a9e873 100644 --- a/telethon_generator/tl_generator.py +++ b/telethon_generator/tl_generator.py @@ -464,9 +464,11 @@ class TLGenerator: # Vector flags are special since they consist of 3 values, # so we need an extra join here. Note that empty vector flags # should NOT be sent either! - builder.write("b'' if not {} else b''.join((".format(name)) + builder.write("b'' if {0} is None or {0} is False " + "else b''.join((".format(name)) else: - builder.write("b'' if not {} else (".format(name)) + builder.write("b'' if {0} is None or {0} is False " + "else (".format(name)) if arg.is_vector: if arg.use_vector_id: @@ -495,11 +497,14 @@ class TLGenerator: # There's a flag indicator, but no flag arguments so it's 0 builder.write(r"b'\0\0\0\0'") else: - builder.write("struct.pack('