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))
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))
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()
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()