def load(cls, filename): """ Load the graph object from the corresponding file. Data is loaded in a zip format as created using save(). :param filename: The name of the file to load. :type filename: :class:`str` :returns: A graph corresponding to the one saved in filename. """ Parameter.checkClass(filename, str) import zipfile (path, filename) = os.path.split(filename) if path == "": path = "./" tempPath = tempfile.mkdtemp() originalPath = os.getcwd() try: os.chdir(path) myzip = zipfile.ZipFile(filename + '.zip', 'r') myzip.extractall(tempPath) myzip.close() os.chdir(tempPath) #Deal with legacy files try: W = cls.loadMatrix(cls._wFilename) metaDict = Util.loadPickle(cls._metaFilename) vList = globals()[metaDict["vListType"]].load(cls._verticesFilename) undirected = metaDict["undirected"] except IOError: W = cls.loadMatrix(filename + cls._matExt) vList = VertexList.load(filename) undirected = Util.loadPickle(filename + cls._boolExt) graph = cls(vList, undirected) graph.W = W for tempFile in myzip.namelist(): os.remove(tempFile) finally: os.chdir(originalPath) os.rmdir(tempPath) return graph
def testSaveLoad(self): try: vList = VertexList(self.numVertices, self.numFeatures) vList.setVertex(0, numpy.array([1, 2, 3])) vList.setVertex(1, numpy.array([4, 5, 6])) vList.setVertex(2, numpy.array([7, 8, 9])) tempDir = PathDefaults.getTempDir() fileName = tempDir + "vList" vList.save(fileName) vList2 = VertexList.load(fileName) self.assertTrue((vList.getVertices() == vList2.getVertices()).all()) except IOError as e: logging.warn(e) pass
def testSaveLoad(self): try: vList = VertexList(self.numVertices, self.numFeatures) vList.setVertex(0, numpy.array([1, 2, 3])) vList.setVertex(1, numpy.array([4, 5, 6])) vList.setVertex(2, numpy.array([7, 8, 9])) tempDir = PathDefaults.getTempDir() fileName = tempDir + "vList" vList.save(fileName) vList2 = VertexList.load(fileName) self.assertTrue( (vList.getVertices() == vList2.getVertices()).all()) except IOError as e: logging.warn(e) pass