diff sqlex/main.py @ 3:5f1e1ac96aa7

stub works with SELECT
author Jeff Hammel <k0scist@gmail.com>
date Sat, 01 Apr 2017 09:19:22 -0700
parents 63a75d318b06
children b440206930ac
line wrap: on
line diff
--- a/sqlex/main.py	Sat Apr 01 08:44:42 2017 -0700
+++ b/sqlex/main.py	Sat Apr 01 09:19:22 2017 -0700
@@ -8,8 +8,9 @@
 # imports
 import argparse
 import os
-import sqlite3
 import sys
+from .model import SQLEx
+
 
 def ensure_dir(directory):
     """ensure a directory exists"""
@@ -30,7 +31,9 @@
         argparse.ArgumentParser.__init__(self, **kwargs)
         self.add_argument('db',
                           help="sqlite `.db` file")
-        self.add_argument(
+        self.add_argument('--tables', '--list-tables', dest='list_tables',
+                          action='store_true', default=False,
+                          help="list tables and exit")
         self.options = None
 
     def parse_args(self, *args, **kw):
@@ -43,7 +46,7 @@
         """validate options"""
 
         try:
-            open(options.db)
+            open(options.db).close()
         except Exception as e:
             self.error("Could not open '{}': {}".format(options.db, e))
 
@@ -55,7 +58,13 @@
     parser = SQLExParser()
     options = parser.parse_args(args)
 
+    # connect to database
+    db = SQLEx(options.db)
+
+    if options.list_tables:
+        tables = db.tables()
+        print ('\n'.join(tables))
+        return
+
 if __name__ == '__main__':
     main()
-
-