Example #1
0
	def read(self, f):
		f.seek(self.offset, 0)
		assert f.read(4) == self.tag
		assert read32(f) == self.size
		sio = StringIO(f.read(self.size))
		sio.tag = self.tag
		sio.rid = self.rid
		sio.size = self.size
		return sio
Example #2
0
	def read(self, f):
		if self.tag == "CFTC":
			return None
		f.seek(self.offset, 0)
		assert f.read(4).upper() == self.tag
		assert read32(f, True) == self.size
		assert read32(f, True) == self.rid
		name = None
		self.size = self.size - 4
		name = readString(f)
		if len(name):
			print self.rid, self.tag, name
		self.size = self.size - len(name) - 1
		if ((f.tell() - self.offset) & 1) != 0:
			f.read(1) # padding
			self.size = self.size - 1
		sio = StringIO(f.read(self.size))
		sio.tag = self.tag
		sio.rid = self.rid
		sio.name = name
		sio.size = self.size
		return sio