@@ -37,7 +37,7 @@ def needs_space(l: str, r: str) -> bool:
37
37
def untokenize (tokens : Tuple [str , ...]) -> str :
38
38
line = []
39
39
for i in range (len (tokens ) - 1 ):
40
- if tokens [i : i + 2 ] == ("void" , ")" ):
40
+ if tokens [i : i + 2 ] == ("void" , ")" ):
41
41
break
42
42
line .append (tokens [i ])
43
43
if needs_space (tokens [i ], tokens [i + 1 ]):
@@ -74,9 +74,8 @@ def parse_params(tokens: Tuple[str, ...]) -> List[Tuple[List[str], str]]:
74
74
return params
75
75
76
76
77
- def finalize_handler (
78
- type_prefix : str , handlers : List [str ], event : str , params : List [str ]
79
- ) -> None :
77
+ def finalize_handler (type_prefix : str , handlers : List [str ], event : str ,
78
+ params : List [str ]) -> None :
80
79
handlers [- 1 ] += ":"
81
80
self = ""
82
81
array = ""
@@ -133,9 +132,8 @@ def handle_macro(tokens: Sequence[str], state: List[str]) -> bool:
133
132
return False
134
133
135
134
136
- def handle_types (
137
- tokens : Sequence [str ], state : List [str ], extern : List [str ], const_prefix : str
138
- ) -> bool :
135
+ def handle_types (tokens : Sequence [str ], state : List [str ], extern : List [str ],
136
+ const_prefix : str ) -> bool :
139
137
# struct definitions (members are ignored)
140
138
if tokens [0 ] == "struct" and tokens [- 1 ] == "{" :
141
139
state .append ("struct" )
@@ -147,7 +145,8 @@ def handle_types(
147
145
extern .append (f" ctypedef struct { tokens [2 ]} " )
148
146
149
147
# enums
150
- if (tokens [:2 ] == ("typedef" , "enum" ) or tokens [0 ] == "enum" ) and tokens [- 1 ] == "{" :
148
+ if (tokens [:2 ] == ("typedef" , "enum" )
149
+ or tokens [0 ] == "enum" ) and tokens [- 1 ] == "{" :
151
150
extern .append ("" )
152
151
extern .append (f" cpdef enum { tokens [- 2 ]} :" )
153
152
state .append ("enum" )
@@ -158,41 +157,38 @@ def handle_types(
158
157
159
158
160
159
def handle_functions (
161
- tokens : Tuple [str , ...],
162
- state : List [str ],
163
- extern : List [str ],
164
- fun_prefix : str ,
165
- type_prefix : str ,
166
- event : str ,
167
- params : List [str ],
168
- handlers : List [str ],
169
- install_handlers : List [str ],
160
+ tokens : Tuple [str , ...],
161
+ state : List [str ],
162
+ extern : List [str ],
163
+ fun_prefix : str ,
164
+ type_prefix : str ,
165
+ event : str ,
166
+ params : List [str ],
167
+ handlers : List [str ],
168
+ install_handlers : List [str ],
170
169
) -> str :
171
170
# functions and callbacks
172
- if (
173
- "(" in tokens
174
- and tokens [0 ].isidentifier ()
175
- and token_before ("(" , tokens ).startswith (fun_prefix )
176
- and tokens [0 ] != "typedef"
177
- ):
171
+ if ("(" in tokens and tokens [0 ].isidentifier ()
172
+ and token_before ("(" , tokens ).startswith (fun_prefix )
173
+ and tokens [0 ] != "typedef" ):
178
174
extern .append (f" cdef { untokenize_fun (tokens )} " )
179
175
if ";" not in tokens :
180
176
state .append ("fun" )
181
177
return event
182
178
if tokens [:2 ] == ("typedef" , "void" ):
183
179
extern .append (f" c{ untokenize_fun (tokens )} " )
184
180
185
- event = tokens [2 ][len (fun_prefix ) : - 3 ]
181
+ event = tokens [2 ][len (fun_prefix ): - 3 ]
186
182
params .clear ()
187
183
params .extend (tokens [3 :])
188
184
189
185
# TODO(iphydf): Handle this better (by checking whether we have a callback install
190
186
# function for this event).
191
187
if event != "log" :
192
- handlers .append (f"cdef void handle_{ untokenize_fun ((event ,) + tokens [3 :])} " )
188
+ handlers .append (
189
+ f"cdef void handle_{ untokenize_fun ((event ,) + tokens [3 :])} " )
193
190
install_handlers .append (
194
- f" { fun_prefix } callback_{ event } (ptr, handle_{ event } )"
195
- )
191
+ f" { fun_prefix } callback_{ event } (ptr, handle_{ event } )" )
196
192
if ";" not in tokens :
197
193
state .append ("callback" )
198
194
else :
@@ -277,7 +273,8 @@ def gen_cython(lines: Sequence[str], fun_prefix: str) -> List[str]:
277
273
)
278
274
279
275
if install_handlers :
280
- install_handlers = ["cdef void install_handlers(Tox *ptr):" ] + install_handlers
276
+ install_handlers = ["cdef void install_handlers(Tox *ptr):"
277
+ ] + install_handlers
281
278
return extern + ["" ] + handlers + ["" ] + install_handlers
282
279
283
280
@@ -289,14 +286,12 @@ def main() -> None:
289
286
for line in src_fh .readlines ():
290
287
if line .startswith ("cdef extern from" ):
291
288
with open (api , "r" , encoding = "utf-8" ) as api_fh :
292
- print (
293
- "\n " .join (
294
- gen_cython (
295
- api_fh .readlines (),
296
- fun_prefix = os .path .split (api )[- 1 ].split ("." )[0 ] + "_" ,
297
- )
298
- )
299
- )
289
+ print ("\n " .join (
290
+ gen_cython (
291
+ api_fh .readlines (),
292
+ fun_prefix = os .path .split (api )[- 1 ].split ("." )[0 ] +
293
+ "_" ,
294
+ )))
300
295
else :
301
296
print (line .rstrip ())
302
297
0 commit comments