blob: 972aee11658bbb0df8ed76c2613d60df9d7d13e4 [file] [log] [blame]
# Copyright 2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
class IndexStreamIterator(object):
def __init__(self, f, parser):
self.parser = parser
self._file = f
def close(self):
if self._file is not None:
self._file.close()
self._file = None
def __iter__(self):
try:
for line in self._file:
node = self.parser(line)
if node is not None:
yield node
finally:
self.close()