def parser(args, **kwargs): token_sep = re.compile('(?:([{}])\s*|\s+)'.format(''.join(decorations.keys()))) parsers = [ split_parser(token_sep, compact=False) ] fields = list(starmap(parser_from_header, enumerate(args.header))) # starmap(fn, iterable) ~ [ fn(*args) for args in iterable ] parsers.append(field_parser(fields)) parsers.append(lambda m: filter(lambda n: n.unit, m)) # get rid of mesaurements without unit set, in this case, the time field parsers.reverse() return compose(*parsers)
def parser(args, **kwargs): return { parse_match: compose(*parsers) }
def parser(args, **kwargs): return {parse_match: compose(*parsers)}
def parser(args, **kwargs): return {start_re: compose(*start_parsers), cell_re: compose(*cell_parsers)}
def parser(args, **kwargs): return {start_re: compose(*start_parsers), cell_re: compose(*cell_parsers)}