def main(output, **kwargs):
    # Prepare writer for given output stream
    pp = pprint.PrettyPrinter(indent=2, stream=output, width=100)

    s = Sequential()
    s.callback(parse)
    s.callback(params_todict)
    s.callback(pp.pprint)
    s.errback(logging.error)

    clistream(s, **kwargs)
def main(output, output_encoding, **kwargs):
    kml = simplekml.Kml()

    s = Sequential()
    s.callback(RowMapper(FIELDS))
    s.callback(mapping)
    s.callback(lambda r: kml.newpoint(**r))
    s.errback(logging.error)

    # Consume input stream, "kml" holds converted points
    clistream(s, delimiter=',', **kwargs)

    output.write(kml.kml().encode(output_encoding))
def main(config, output, **kwargs):
    if config is None:
        raise SystemExit('-c/--config option is required.')
    fields = json.load(config)['fields']
    config.close()

    writer = csv.writer(output, delimiter='\t',
        quotechar='\t', quoting=csv.QUOTE_NONE)
    mapping = DictMapper(fields)
    s = Sequential()
    s.callback(parse)
    s.callback(mapping)
    s.callback(writer.writerow)
    s.errback(logging.error)

    clistream(s, **kwargs)
def main(output, **kwargs):
    G = Graph()

    # Set sequential callbacks to accept input records
    s = Sequential()
    s.callback(RowMapper(FIELDS))
    s.callback(G.add)
    s.errback(logging.error)

    # Consume input stream, "G" holds converted records in a graph manner
    clistream(s, delimiter=',', **kwargs)

    G.render(output)
def main():
    args = parse_arguments(
        files=dict(nargs='*'),
        skip_prefix=dict(flags='--skip-prefix',
                         type=argparse.FileType('r'), metavar="FILE",
                         help='Skip pattern file for prefix match'),
        skip_suffix=dict(flags='--skip-suffix',
                         type=argparse.FileType('r'), metavar="FILE",
                         help='Skip pattern file for suffix match'))
    # Read schema definition.
    if args.config is None:
        raise SystemExit('-c/--config option is required.')
    fields = json.load(args.config)['fields']
    args.config.close()

    # Load skip pattern files if given.
    if args.skip_prefix:
        skip_prefix = [l.strip() for l in args.skip_prefix]
    else:
        skip_prefix = None
    if args.skip_suffix:
        skip_suffix = [l.strip() for l in args.skip_suffix]
    else:
        skip_suffix = None

    collector = Collector(skip_prefix, skip_suffix)
    # Set sequential callbacks to accept input records
    s = Sequential()
    s.callback(RowMapper(fields))
    s.callback(collector.collect)
    s.errback(LOGGER.error)

    # Consume input stream, "G" holds converted records in a graph manner
    clistream(s, delimiter='\t', files=args.files)

    collector.dump(args.output)