blob: eacad67c8927471d5629831968180a54585a9e07 [file] [log] [blame]
from typing import Iterable, Set
from pywy.graph.graph import WayangGraph
from pywy.graph.graphtypes import WayangGraphOfWayangNode, WayangNode
from pywy.wayangplan.sink import SinkOperator
from pywy.platforms.basic.plugin import Plugin
class PywyPlan:
graph: WayangGraph
def __init__(self, plugins: Set[Plugin], sinks: Iterable[SinkOperator]):
self.plugins = plugins
self.sinks = sinks
self.set_graph()
def set_graph(self):
self.graph = WayangGraphOfWayangNode(self.sinks)
def print(self):
def print_plan(current: WayangNode, previous: WayangNode):
if current is None:
print("this is source")
print(previous.current)
return
if previous is None:
print("this is sink")
print(current.current)
return
print(
"===========\n{}\n@@@@@ => previous is\n{}\n===========\n"
.format(
current.current,
previous.current
)
)
self.graph.traversal(None, self.graph.starting_nodes, print_plan)