Exemple #1
0
def main():
    parser = build_opt_parser()
    (options, args) = parser.parse_args()

    sql = " ".join(args).strip()
    if not sql:
        print "An SQL expression is required"
        return

    files = get_table_names(sql_parser.parseString(sql))

    parser_name = options.parser
    if parser_name:
        parser = parsers[parser_name]
    else:
        fn = files[0]
        if fn.rsplit("/", 1)[-1] == "access.log":
            parser = parsers["access_log"]
        elif fn.endswith(".csv"):
            parser = parsers["csv"]
        else:
            sys.stderr.write("Can't figure out parser for input")
            sys.exit(1)

    source = Combiner(files, parser)
    query = Query(sql)

    output = output_formats[options.format]

    output(query(source))
Exemple #2
0
def main():
    parser = build_opt_parser()
    (options, args) = parser.parse_args()

    sql = ' '.join(args).strip()
    if not sql:
        print "An SQL expression is required"
        return

    files = get_table_names(sql_parser.parseString(sql))

    parser_name = options.parser
    if parser_name:
        parser = parsers[parser_name]
    else:
        fn = files[0]
        if fn.rsplit('/', 1)[-1] == 'access.log':
            parser = parsers['access_log']
        elif fn.endswith('.csv'):
            parser = parsers['csv']
        else:
            sys.stderr.write("Can't figure out parser for input")
            sys.exit(1)

    source = Combiner(files, parser)
    query = Query(sql)

    output = output_formats[options.format]

    output(query(source))
Exemple #3
0
 def __init__(self, sql):
     self.tokens = sql_parser.parseString(sql) if isinstance(sql, basestring) else sql
     self.column_classes = None
     self._table_subquery = None
     self._parts = self._generate_parts()
Exemple #4
0
 def __init__(self, sql):
     self.tokens = sql_parser.parseString(sql) if isinstance(
         sql, basestring) else sql
     self.column_classes = None
     self._table_subquery = None
     self._parts = self._generate_parts()