Commit Graph

67 Commits

Author SHA1 Message Date
Lonami Exo
0e1249c833 Fix incorrectly generated code 2017-10-19 10:42:09 +02:00
Lonami Exo
f49208f961 Fix assert condition on generated code with flags involved
The specific case was SendMessageRequest with
InputMessageEntityMentionName, failing with bot/bot_info
2017-10-18 20:43:46 +02:00
Lonami Exo
adb79b21cf Replace .to_bytes() with the special .__bytes__ function 2017-10-17 19:54:59 +02:00
Viktor Oreshkin
ee01724cdb Fix parsing for constructors and not objects (#348) 2017-10-16 20:15:22 +02:00
Lonami Exo
83677fc927 Enhance and use .get_input_photo on the generated code 2017-10-08 13:45:14 +02:00
Lonami Exo
91a5d20e93 Replace .on_response with static .from_reader for all types 2017-10-07 13:26:09 +02:00
Lonami Exo
06bb09b95c Fix wrong .empty() due to variable shadowing (from ce48c97) 2017-10-01 10:45:59 +02:00
Lonami Exo
ce48c9752e Assert flag params with same flag index are all set/unset 2017-09-30 19:47:19 +02:00
Lonami Exo
afc4bd9cab Rename constructor/subclass_of_id to upper case, keep only static 2017-09-29 13:11:33 +02:00
Lonami Exo
a4fa652d35 Precompute the flag index on the generated code 2017-09-29 13:03:35 +02:00
Lonami Exo
76d14b2dd9 Make generated .to_bytes() more readable 2017-09-29 13:00:22 +02:00
Lonami Exo
195bba6f21 Fix bug where booleans were always serialized as false 2017-09-29 12:57:53 +02:00
Lonami Exo
423efc4360 Fix optional vector arguments failing 2017-09-29 11:56:43 +02:00
Lonami Exo
748c2560de Fix auto-generated code didn't actually write int128/int256 2017-09-28 10:12:15 +02:00
Lonami Exo
fb0898b9cb Don't distinguish between str and bytes when serializing
This makes it easier to use some requests like ReqPqRequest which
needs a string of bytes, not a valid utf-8 string per se.
2017-09-28 09:55:29 +02:00
Lonami Exo
9b7733d6b9 Avoid the use of starred expressions on autogen code (fix #266) 2017-09-27 12:05:35 +02:00
Lonami Exo
b83cd98ba0 Replace TLObject.on_send with the new .to_bytes()
This also replaces some int.to_bytes() calls with a faster
struct.pack (up to x4 faster). This approach is also around
x3 faster than creating a BinaryWriter just to serialize a
TLObject as bytes.
2017-09-26 14:36:02 +02:00
Lonami Exo
b40708a8c7 Import get_input_* only once on the generated code 2017-09-25 14:05:13 +02:00
Lonami Exo
dc73744fc4 Add get_input_media calls on the generated code 2017-09-25 13:47:25 +02:00
Lonami Exo
5701029fbf Stop treating .to_dict() with no args as a special case 2017-09-23 10:59:08 +02:00
Lonami Exo
0b48b1ec8a Add support for non-recursive TLObject.to_dict() 2017-09-23 10:41:36 +02:00
Lonami Exo
f7e4f3f678 Make type hinting on the generated code more IDE-friendly 2017-09-18 21:00:06 +02:00
Lonami Exo
2595d45bd7 Import os only once on the generated code 2017-09-18 20:23:03 +02:00
Lonami Exo
2c5c674531 Stop using TLObject.__repr__ to show the TL definition 2017-09-18 20:19:39 +02:00
Lonami Exo
b14a7d9e68 Revert layer being a property 2017-09-17 16:19:53 +02:00
Lonami Exo
aea10b103b Rename generated layer variable to uppercase readonly property 2017-09-17 16:17:55 +02:00
Lonami Exo
3a5eab2e83 Fix infering random_id lists failing for ForwardMessages 2017-09-12 10:32:11 +02:00
Lonami Exo
97cab7347b Make lint happier 2017-09-04 17:10:04 +02:00
Lonami Exo
0e45f46ad5 Properly ignore core types when generating code 2017-09-04 16:38:03 +02:00
Lonami Exo
e8cdcf369d Sort generated code by name for more predictable results 2017-09-04 15:11:46 +02:00
Lonami Exo
c5b562d4f6 Move the from tlobject import TLObject to only the top of the file 2017-09-04 14:08:36 +02:00
Lonami Exo
64f1031a45 Move comments from auto-generated code to the generator itself 2017-09-04 14:05:30 +02:00
Lonami Exo
c3f679597c Move the auto-generated notice to only the top of the file 2017-09-04 13:57:40 +02:00
Lonami Exo
e83b250a22 Replace generated directory modules with simply files 2017-09-04 13:51:47 +02:00
Lonami Exo
7eab28206b Change the code generator to use a single file per namespace 2017-09-04 13:44:39 +02:00
Lonami Exo
160a3699ac Fix confusing names "MtProtoRequest" and ".confirmed" (#176)
This also fixes the annoyingly confusing message:
"Odd msg_seqno expected (relevant message), but even received."
2017-07-24 16:54:48 +02:00
Lonami Exo
9b17888e3e Make generated code slightly smaller 2017-07-11 11:36:00 +02:00
Lonami Exo
cfea0f80da Consider vector attributes for get_input_* utils (closes #166) 2017-07-11 11:14:58 +02:00
Lonami Exo
bdee94eaf3 Implement automatic cast to InputUser too (closes #159) 2017-07-10 16:04:10 +02:00
Lonami Exo
95a989be2c Automatically cast Channel to InputChannel (similar to InputPeer) 2017-07-07 09:48:06 +02:00
Lonami Exo
8fd0d7eadd Add a new .stringify() function to visualize TLObjects more easily 2017-07-04 21:15:47 +02:00
Lonami Exo
b0b814bdb9 Use setup.py to run tl_generator.py instead (plus some cleanup) 2017-06-21 11:27:22 +02:00
Lonami Exo
e7b0c06ca5 Make .get_input_user faster when the right type is given 2017-06-16 10:01:05 +02:00
Lonami Exo
86d45cc276 Improve .get_input_peer and use it only when creating requests*
This avoids cyclic dependencies, so types requiring an InputPeer
as a parameter will NOT convert faulty types to the right ones.
2017-06-15 17:03:59 +02:00
Lonami Exo
b8e46446ba Automatically call .get_input_peer on the requests that need it 2017-06-15 16:35:40 +02:00
Lonami Exo
9e07a2580c Fix extra line being appended on empty .to_dict()'s 2017-06-13 19:46:16 +02:00
Lonami Exo
769692959f Make the TLGenerator class a lot more readable 2017-06-12 10:43:43 +02:00
Lonami Exo
68a625b82b Try to adhere to the 80-characters limit 2017-06-12 10:16:24 +02:00
Goblenus
76166cd1ec Add .to_dict() to the generated types 2017-06-12 09:53:26 +02:00
Lonami Exo
1ca41b5854 Automatically infer the value for 'random_id' parameters 2017-06-11 19:16:59 +02:00