Mercurial > hg > sqlex
comparison sqlex/main.py @ 4:b440206930ac
stub table optional positional argument
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sat, 01 Apr 2017 09:28:49 -0700 |
parents | 5f1e1ac96aa7 |
children | 3a7f515571dc |
comparison
equal
deleted
inserted
replaced
3:5f1e1ac96aa7 | 4:b440206930ac |
---|---|
29 kwargs.setdefault('formatter_class', argparse.RawTextHelpFormatter) | 29 kwargs.setdefault('formatter_class', argparse.RawTextHelpFormatter) |
30 kwargs.setdefault('description', __doc__) | 30 kwargs.setdefault('description', __doc__) |
31 argparse.ArgumentParser.__init__(self, **kwargs) | 31 argparse.ArgumentParser.__init__(self, **kwargs) |
32 self.add_argument('db', | 32 self.add_argument('db', |
33 help="sqlite `.db` file") | 33 help="sqlite `.db` file") |
34 self.add_argument('table', nargs='?', | |
35 help="table to operate on") | |
34 self.add_argument('--tables', '--list-tables', dest='list_tables', | 36 self.add_argument('--tables', '--list-tables', dest='list_tables', |
35 action='store_true', default=False, | 37 action='store_true', default=False, |
36 help="list tables and exit") | 38 help="list tables and exit") |
37 self.options = None | 39 self.options = None |
38 | 40 |
60 | 62 |
61 # connect to database | 63 # connect to database |
62 db = SQLEx(options.db) | 64 db = SQLEx(options.db) |
63 | 65 |
64 if options.list_tables: | 66 if options.list_tables: |
67 # list tables and return | |
68 # if `table` argument is provided, exit 1 | |
69 # if not available. Otherwise exit 0 | |
65 tables = db.tables() | 70 tables = db.tables() |
66 print ('\n'.join(tables)) | 71 print ('\n'.join(tables)) |
67 return | 72 retval = 0 |
73 if options.table: | |
74 retval = int(options.table not in tables) | |
75 return retval | |
68 | 76 |
69 if __name__ == '__main__': | 77 if __name__ == '__main__': |
70 main() | 78 main() |