Example #1
0
File: query.py Project: mnuhn/gcl
  def order(self):
    # Walk the objects to find the dependencies (by object ID)
    values = [n.value for n in self.unordered]
    dep_finder = DependencyFinder(values)
    util.walk(values, dep_finder)
    self.deps = self._ids_to_nodes(dep_finder.dependencies())

    def has_deps(node):
      return self.deps[node]

    # Now sort baby; iterate through this list multiple times.
    self.ordered = []
    while True:
      next_tranche, self.unordered = partition(has_deps, self.unordered)
      if not next_tranche:
          # Either done or recursive dependencies
          break
      self.ordered.extend(next_tranche)
      # Get rid of dependencies
      for key, list in self.deps.items():
        list[:] = [i for i in list if i not in next_tranche]
Example #2
0
    def order(self):
        # Walk the objects to find the dependencies (by object ID)
        values = [n.value for n in self.unordered]
        dep_finder = DependencyFinder(values)
        util.walk(values, dep_finder)
        self.deps = self._ids_to_nodes(dep_finder.dependencies())

        def has_deps(node):
            return self.deps[node]

        # Now sort baby; iterate through this list multiple times.
        self.ordered = []
        while True:
            next_tranche, self.unordered = partition(has_deps, self.unordered)
            if not next_tranche:
                # Either done or recursive dependencies
                break
            self.ordered.extend(next_tranche)
            # Get rid of dependencies
            for key, list in self.deps.items():
                list[:] = [i for i in list if i not in next_tranche]
Example #3
0
def qualified_print(model, **kwargs):
    util.walk(model, QualifiedPrintWalker(**kwargs))
Example #4
0
def pretty_print_model(model, **kwargs):
    table = util.ConsoleTable()
    util.walk(model, PrettyPrintWalker(table, **kwargs))
    table.printOut(sys.stdout)
Example #5
0
File: printer.py Project: mnuhn/gcl
def qualified_print(model, **kwargs):
  util.walk(model, QualifiedPrintWalker(**kwargs))
Example #6
0
File: printer.py Project: mnuhn/gcl
def pretty_print_model(model, **kwargs):
  table = util.ConsoleTable()
  util.walk(model, PrettyPrintWalker(table, **kwargs))
  table.printOut(sys.stdout)
Example #7
0
File: query.py Project: mnuhn/gcl
 def find(self, root):
   util.walk(root, self)
Example #8
0
 def find(self, root):
     util.walk(root, self)