summaryrefslogtreecommitdiff
path: root/plac/doc/sql_interface.py
diff options
context:
space:
mode:
Diffstat (limited to 'plac/doc/sql_interface.py')
-rw-r--r--plac/doc/sql_interface.py29
1 files changed, 0 insertions, 29 deletions
diff --git a/plac/doc/sql_interface.py b/plac/doc/sql_interface.py
deleted file mode 100644
index 67c6233..0000000
--- a/plac/doc/sql_interface.py
+++ /dev/null
@@ -1,29 +0,0 @@
-import os, plac
-from sqlalchemy.ext.sqlsoup import SqlSoup
-
-SQLKEYWORDS = set(['help', 'select', 'from',
- 'inner', 'join', 'outer', 'left', 'right']
- ) # and many others
-DBTABLES = set(['table1', 'table2']) # you can read them from the db schema
-
-COMPLETIONS = SQLKEYWORDS | DBTABLES
-
-class SqlInterface(object):
- commands = ['SELECT']
- def __init__(self, dsn):
- self.soup = SqlSoup(dsn)
- def SELECT(self, argstring):
- sql = 'SELECT ' + argstring
- for row in self.soup.bind.execute(sql):
- yield str(row) # the formatting can be much improved
-
-rl_input = plac.ReadlineInput(
- COMPLETIONS, histfile=os.path.expanduser('~/.sql_interface.history'),
- case_sensitive=False)
-
-def split_on_first_space(line, commentchar):
- return line.strip().split(' ', 1) # ignoring comments
-
-if __name__ == '__main__':
- plac.Interpreter.call(SqlInterface, split=split_on_first_space,
- stdin=rl_input, prompt='sql> ')