From: Daniele Varrazzo Date: Sat, 12 Jul 2025 05:44:04 +0000 (+0200) Subject: chore(async-to-sync): handle generator expressions X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9d1a3bb338c77c6701f4517ed7f81cc5e2662a61;p=thirdparty%2Fpsycopg.git chore(async-to-sync): handle generator expressions --- diff --git a/tools/async_to_sync.py b/tools/async_to_sync.py index e3c4b04cf..888417abe 100755 --- a/tools/async_to_sync.py +++ b/tools/async_to_sync.py @@ -264,6 +264,16 @@ class AsyncToSync(ast.NodeTransformer): # type: ignore self.generic_visit(node) return node + def visit_GeneratorExp(self, node: ast.GeneratorExp) -> ast.AST: + if isinstance(node.elt, ast.Await): + node.elt = node.elt.value + + for gen in node.generators: + if gen.is_async: + gen.is_async = 0 + + return node + class RenameAsyncToSync(ast.NodeTransformer): # type: ignore names_map = {