annotate sqlex/model.py @ 2:63a75d318b06

stub a model
author Jeff Hammel <k0scist@gmail.com>
date Sat, 01 Apr 2017 08:44:42 -0700
parents
children 5f1e1ac96aa7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
1 import sqlite3
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
2
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
3 class SQLEx(object):
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
4 """
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
5 sqlite model
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
6 https://docs.python.org/2/library/sqlite3.html
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
7 """
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
8
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
9 def __init__(self, db):
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
10 self.db = db
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
11 self.conn = sqlite3.connect(self.db)
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
12
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
13 def __call__(self, sql, *args):
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
14 c = conn.cursor()
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
15 c.execute(sql, args)
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
16 c.commit()
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
17
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
18 def __del__(self):
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
19 self.conn.close()
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
20
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
21 def tables(self):
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
22 """
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
23 returns table names in database
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
24 """
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
25 # http://stackoverflow.com/questions/82875/how-to-list-the-tables-in-an-sqlite-database-file-that-was-opened-with-attach
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
26
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
27 sql = "SELECT name FROM dbname.sqlite_master WHERE type='table';"
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
28 tables = self(sql)
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
29 return tables
63a75d318b06 stub a model
Jeff Hammel <k0scist@gmail.com>
parents:
diff changeset
30