Esempio n. 1
0
 async def inner(*args, **kwargs):
     try:
         layout = f(*args, **kwargs)
         workflow.onlayoutstart(layout)
         return await layout
     finally:
         workflow.onlayoutclose(layout)
Esempio n. 2
0
 async def inner(*args, **kwargs):
     await backlight_slide(BACKLIGHT_DIM)
     slide = backlight_slide(BACKLIGHT_NORMAL)
     try:
         layout = f(*args, **kwargs)
         workflow.onlayoutstart(layout)
         loop.schedule(slide)
         return await layout
     finally:
         loop.close(slide)
         workflow.onlayoutclose(layout)
Esempio n. 3
0
 async def __iter__(self) -> ResultValue:
     value = None
     try:
         if workflow.layout_signal.takers:
             await workflow.layout_signal.put(LayoutCancelled())
         workflow.onlayoutstart(self)
         while True:
             layout_tasks = self.create_tasks()
             await loop.spawn(workflow.layout_signal.take, *layout_tasks)
     except Result as result:
         value = result.value
     finally:
         workflow.onlayoutclose(self)
     return value