def __loadDNAFileBase(self, store, file): f = open(file, 'rb') self.curStore = store self.curProp = None self.hadError = False data = f.read() dg = PyDatagram(data) dgi = PyDatagramIterator(dg) f.close() header = dgi.extractBytes(5) if header != "PDNA\n": raise DNAError.DNAError("Invalid header") compressed = dgi.getBool() dgi.skipBytes(1) if compressed: # Decompress the dgi # Sadly we have to extract everything # And make another dgi import zlib data = dgi.getRemainingBytes() data = zlib.decompress(data) dg = PyDatagram(data) dgi = PyDatagramIterator(dg) self.handleStorageData(dgi) self.handleCompData(dgi)
def __loadDNAFileBase(self, store, file): f = open(file, 'rb') self.curStore = store self.curProp = None self.hadError = False data = f.read() dg = PyDatagram(data) dgi = PyDatagramIterator(dg) f.close() header = dgi.extractBytes(5) if header != "PDNA\n": raise DNAError.DNAError("Invalid header") compressed = dgi.getBool() dgi.skipBytes(1) if compressed: # Decompress the dgi # Sadly we have to extract everything # And make another dgi import zlib data = dgi.getRemainingBytes() data = zlib.decompress(data) dg = PyDatagram(data) dgi = PyDatagramIterator(dg) self.handleStorageData(dgi) self.handleCompData(dgi)
def loadDNAFileBase(self, store, _file): if type(_file) == str and _file.endswith(".dna"): _file = _file.replace(".dna", ".pdna") #_file = _file.replace("../resources/", "") if __debug__: _file = Filename("../resources/" + _file) else: _file = Filename("/" + _file) vfs = VirtualFileSystem.getGlobalPtr() vfs.resolveFilename(_file, "") if not vfs.exists(_file): raise DNAError.DNAError("Unable to open DNA file '%s'" % (str(_file))) dnaData = vfs.readFile(_file, True) self.curStore = store dg = PyDatagram(dnaData) dgi = PyDatagramIterator(dg) header = dgi.extractBytes(5) if header != 'PDNA\n': raise DNAError.DNAError('Invalid header: %s' % (header)) compressed = dgi.getBool() dgi.skipBytes(1) if compressed: data = dgi.getRemainingBytes() data = zlib.decompress(data) dg = PyDatagram(data) dgi = PyDatagramIterator(dg) self.curComp = None self.handleStorageData(dgi) self.handleCompData(dgi)
def loadDNAFileBase(self, dnaStorage, file): self.dnaStorage = dnaStorage dnaFile = open(file, 'rb') dnaData = dnaFile.read() dg = PyDatagram(dnaData) dgi = PyDatagramIterator(dg) dnaFile.close() header = dgi.extractBytes(5) if header != 'PDNA\n': raise DNAError.DNAError('Invalid header: %s' % (header)) compressed = dgi.getBool() dgi.skipBytes(1) if compressed: data = dgi.getRemainingBytes() data = zlib.decompress(data) dg = PyDatagram(data) dgi = PyDatagramIterator(dg) self.handleStorageData(dgi) self.handleCompData(dgi)