Newer
Older
from typing import Iterator, Iterable, Union
class Workflow(Iterable['Stage']):
def __init__(self, name: str, *stages: 'Stage') -> None:
if not stages:
raise ValueError('Stages must be supplied')
self.stages = stages
def __iter__(self) -> Iterator['Stage']:
yield from self.stages
def next(self, current_stage: Union['Stage', None]=None) -> Union['Stage', None]:
if not current_stage:
return self.stages[0]
return None
def __init__(self, name: str, form: Form) -> None: