def order_distributions()

in vihds/distributions.py [0:0]


    def order_distributions(self):
        names = self.distributions.keys()
        slots = self.slot_dependencies.values()
        orders = OrderedDict()

        while len(orders) < len(names):
            # add distribution if all depenedencies are in orders already
            for name, s in zip(names, slots):
                if name not in orders:

                    # what are dependencies for this
                    dependencies = s.values()

                    all_dependencies = True
                    for dependency in dependencies:
                        if dependency not in orders:
                            print("%s is waiting for %s" % (name, dependency))
                            all_dependencies = False
                            break

                    if all_dependencies is True:
                        orders[name] = len(orders)

        return orders