custom-components / pyscript

Pyscript adds rich Python scripting to HASS
Apache License 2.0
829 stars 44 forks source link

not implemented ast ast_generatorexp #564

Open jkaberg opened 6 months ago

jkaberg commented 6 months ago

I'm guessing someone hasn't come around to it, just parking this here for myself or if someone else has the time 😄

majo-hast-1  | 2024-01-05 15:23:09.477 ERROR (MainThread) [custom_components.pyscript.scripts.energy_price.fetch_prices] Exception in <scripts.energy_price.fetch_prices> line 49:
majo-hast-1  |             hour['is_avarage'] = not any(value for key, value in hour.items() if key.endswith(('lowest', 'highest')))
majo-hast-1  |                                         ^
majo-hast-1  | NotImplementedError: scripts.energy_price.fetch_prices: not implemented ast ast_generatorexp
craigbarratt commented 6 months ago

Since pyscript is implemented as an interpreter, generator expressions and yield are quite hard to implement. It's mentioned in the Language Limitations section of the docs.

A workaround is to put the generator oryield code in a function with a @pyscript_compile decorator. That will use native Python.

That said, any implementations would be most welcome!