Exemplo n.º 1
0
    def get_box(self, name, url):
        """ Get a box instance or make it as missing
        """
        from candelabra.topology.box import BoxNode

        if not name in self.boxes:
            new_box = BoxNode(name=name, url=url)
            new_box.missing = True
            self.boxes[name] = new_box
        return self.boxes[name]
Exemplo n.º 2
0
    def refresh(self):
        """ Refresh the list of boxes
        """
        from candelabra.topology.box import BoxNode

        self.boxes = {}
        logger.debug("refreshing list of boxes at the storage")
        for entry in os.listdir(self.path):
            fullpath = os.path.abspath(os.path.join(self.path, entry))
            if os.path.isdir(fullpath):
                logger.debug("... checking directory /%s", entry)
                box = BoxNode(name=entry, path=fullpath)
                if box.load():
                    logger.debug("...... box loaded from /%s", entry)
                    self.boxes[entry] = box

        logger.debug("... %d boxes loaded", len(self.boxes))