From b06f496a27a0b5f2c21de3f71e01385336bdd7d8 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Tue, 16 Mar 2021 08:21:04 +0100 Subject: [PATCH] Don't treat False field as flag omission 8724949b545b00694752ca6cfaac9e4623d26a4a was only half the story. --- telethon_generator/generators/tlobject.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/telethon_generator/generators/tlobject.py b/telethon_generator/generators/tlobject.py index 88664d8c..4326b189 100644 --- a/telethon_generator/generators/tlobject.py +++ b/telethon_generator/generators/tlobject.py @@ -459,12 +459,16 @@ def _write_arg_to_bytes(builder, arg, tlobject, name=None): # There's a flag indicator, but no flag arguments so it's 0 builder.write(r"b'\0\0\0\0'") else: + def fmt_flag(flag): + if flag.type == 'Bool': + fmt = '(0 if {0} is None else {1})' + else: + fmt = '(0 if {0} is None or {0} is False else {1})' + return fmt.format('self.{}'.format(flag.name), 1 << flag.flag_index) + builder.write("struct.pack('