feat(wpcarro/simple-select): Support readline-style KBDs
...and prevent REPL from crashing on parse/compilation errors. Better error messaging would be quite nice as well. Change-Id: I47d06fd74ef65bfa3f14f0b57a5516a908321da8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5348 Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
This commit is contained in:
parent
81138b25eb
commit
465ddb07bb
1 changed files with 8 additions and 3 deletions
|
@ -1,11 +1,12 @@
|
|||
from argparse import ArgumentParser
|
||||
|
||||
import csv
|
||||
from parser import Parser
|
||||
import sqlite3
|
||||
import string
|
||||
from scanner import Scanner
|
||||
from parser import Parser
|
||||
import re
|
||||
import readline
|
||||
|
||||
################################################################################
|
||||
# Predicates
|
||||
|
@ -243,8 +244,12 @@ def main(csv_path=None, debug=False):
|
|||
print("AST:\t{}".format(parse(x)))
|
||||
print("query:\t\"{}\"".format(compile(x, table, columns)))
|
||||
|
||||
for row in cur.execute(compile(x, table, columns)):
|
||||
print("\t".join(str(cell) for cell in row))
|
||||
try:
|
||||
compile(x, table, columns)
|
||||
for row in cur.execute(compile(x, table, columns)):
|
||||
print("\t".join(str(cell) for cell in row))
|
||||
except:
|
||||
print("Compilation error.")
|
||||
|
||||
# TODO(wpcarro): Trap exits and ensure cleanup always runs.
|
||||
con.close()
|
||||
|
|
Loading…
Reference in a new issue