annotate sqlitex/api.py @ 0:4b51bcbcdb15

initial stub
author Jeff Hammel <k0scist@gmail.com>
date Tue, 15 Mar 2016 11:29:22 -0700
parents
children 7f92e207830b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
1 """
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
2 sqlitex API
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
3 """
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
4
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
5 # imports
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
6 import argparse
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
7 import csv
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
8 import os
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
9 import sqlite3
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
10 import sys
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
11
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
12
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
13 class SQLitEx(object):
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
14
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
15 def __init__(self, db_file):
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
16 self.db_file = os.path.abspath(db_file)
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
17 if not os.path.isfile(self.db_file):
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
18 raise AssertionError("Not a file: '{0}'".format(self.db_file))
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
19
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
20
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
21 def main(args=sys.argv[1:]):
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
22 """CLI"""
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
23
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
24 # parse command line
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
25 parser = argparse.ArgumentParser(description=__doc__)
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
26 parser.add_argument('db_file',
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
27 help="path to sqlite database file")
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
28 parser.add_argument('table', nargs='?', default=None,
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
29 help="table to output")
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
30
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
31 options = parser.parse_args(args)
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
32
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
33 # instantiate api
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
34 api = SQLitEx(options.db_file)
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
35
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
36 if __name__ == '__main__':
4b51bcbcdb15 initial stub
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
37 main()