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]
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))