'Push some new data into this object.'

def push(self, data):

    (data, self._partial) = ((self._partial + data), '')
    parts = NLCRE_crack.split(data)
    self._partial = parts.pop()
    if ((not self._partial) and parts and parts[(-1)].endswith('\r')):
        self._partial = (parts.pop((-2)) + parts.pop())
    lines = []
    for i in range((len(parts) // 2)):
        lines.append((parts[(i * 2)] + parts[((i * 2) + 1)]))
    self.pushlines(lines)
