def prepare(self, fp):
def _read_and_parse():
for i, line in enumerate((x.strip() for x in fp.readlines())):
if i == 0:
continue
m = None
for p in patterns:
try:
m = p.parseString(line, parseAll=True)
fields = m['group'], m['host'], m['graph'], m.get('subgraph', None), m.get('datarow', None), \
m['attribute'], m['value']
#logging.debug("%-30s%-30s%-30s%-30s%-30s%-30s%s", *fields)
yield Row(*fields)
break
except ParseException:
continue
if not m:
logger.error("No pattern matched line: %s", line)
for f in _read_and_parse():
yield f
评论列表
文章目录