'Parse a file for history records yielding dicts.
Yields:
Dicts containing browser history'

def _DoParse(self):

    get4 = (lambda x: struct.unpack('<L', self.input_dat[x:(x + 4)])[0])
    filesize = get4(28)
    offset = get4(32)
    coffset = offset
    while (coffset < filesize):
        etype = struct.unpack('4s', self.input_dat[coffset:(coffset + 4)])[0]
        if (etype == 'REDR'):
            pass
        elif (etype in ['URL    ']):
            reclen = (get4((coffset + 4)) * self.BLOCK_SIZE)
            (yield self._GetRecord(coffset, reclen))
        coffset += self.BLOCK_SIZE
