code: def readAt(self, offset, size):
          
          if offset > self.length:
              if self.log:
                  print "Warning: Trying to read: %d bytes - only %d bytes left" % (nroBytes,  self.length - self.offset)
              offset = self.length - self.offset
          tmpOff = self.tell()
          self.setOffset(offset)
          r = self.read(size)
          self.setOffset(tmpOff)
          return r
docs: Reads as many bytes indicated in the size parameter at the specific offset.
  
          @type offset: int
          @param offset: Offset of the value to be read.
  
          @type size: int
          @param size: This parameter indicates how many bytes are going to be read from a given offset.
  
          @rtype: str
          @return: A packed string containing the read data.