Beispiel #1
0
 def __new__(cls, items=None, relations=None):
     items = as_tuple(items)
     if relations:
         items = cls.reorder(items, relations)
     obj = super(PartialOrderTuple, cls).__new__(cls, items)
     obj._relations = set(tuple(i) for i in as_tuple(relations))
     return obj
Beispiel #2
0
 def __new__(cls, items=None, relations=None):
     items = as_tuple(items)
     if relations:
         items = cls.reorder(items, relations)
     obj = super(PartialOrderTuple, cls).__new__(cls, items)
     obj._relations = set(tuple(i) for i in as_tuple(relations))
     return obj
Beispiel #3
0
 def __init__(self, nodes=None, edges=None):
     self.graph = OrderedDict()
     self.labels = DefaultOrderedDict(dict)
     for node in as_tuple(nodes):
         self.add_node(node)
     for i in as_tuple(edges):
         try:
             ind_node, dep_node = i
         except ValueError:
             ind_node, dep_node, label = i
             self.labels[ind_node][dep_node] = label
         self.add_edge(ind_node, dep_node)
Beispiel #4
0
    def __init__(self, *items):
        # Normalize input
        nitems = []
        for i in as_tuple(items):
            if isinstance(i, Iterable):
                nitems.append(tuple(i))
            else:
                raise ValueError("Expected sequence, got %s" % type(i))

        self.items = tuple(nitems)
        self.tip = -1
        self.curiter = None
Beispiel #5
0
 def __init__(self, nodes=None, edges=None):
     self.graph = OrderedDict()
     for node in as_tuple(nodes):
         self.add_node(node)
     for ind_node, dep_node in as_tuple(edges):
         self.add_edge(ind_node, dep_node)
Beispiel #6
0
 def __init__(self, nodes=None, edges=None):
     self.graph = OrderedDict()
     for node in as_tuple(nodes):
         self.add_node(node)
     for ind_node, dep_node in as_tuple(edges):
         self.add_edge(ind_node, dep_node)