|
| | __init__ (self, filename=':memory:', flags='r', mode=None) |
| | __len__ (self) |
| | __bool__ (self) |
| | keys (self) |
| | values (self) |
| | items (self) |
| | __iter__ (self) |
| | iterkeys (self) |
| | itervalues (self) |
| | iteritems (self) |
| | __contains__ (self, key) |
| | __getitem__ (self, key) |
| | __setitem__ (self, key, value) |
| | __delitem__ (self, key) |
| | update (self, items=(), **kwds) |
| | clear (self) |
| | sync (self) |
| | close (self) |
| | __del__ (self) |
|
| | conn = sqlite3.connect(filename) |
Definition at line 26 of file dbsqlite.py.
◆ __init__()
| python.dbsqlite.SQLhash.__init__ |
( |
| self, |
|
|
| filename = ':memory:', |
|
|
| flags = 'r', |
|
|
| mode = None ) |
Definition at line 27 of file dbsqlite.py.
27 def __init__(self, filename=':memory:', flags='r', mode=None):
28
29
30
31
32
33 if 'n' in flags:
34 import os
35 if os.path.exists(filename):
36 os.remove(filename)
37
38 MAKE_SHELF = 'CREATE TABLE IF NOT EXISTS shelf (key TEXT PRIMARY KEY NOT NULL, value BLOB)'
39 self.conn = sqlite3.connect(filename)
40 self.conn.text_factory = str
41 if 'r' not in flags or filename==':memory:':
42 self.conn.execute(MAKE_SHELF)
43 self.conn.commit()
44
◆ __del__()
| python.dbsqlite.SQLhash.__del__ |
( |
| self | ) |
|
Definition at line 131 of file dbsqlite.py.
131 def __del__(self):
132 self.close()
133
◆ __bool__()
| python.dbsqlite.SQLhash.__bool__ |
( |
| self | ) |
|
Definition at line 49 of file dbsqlite.py.
49 def __bool__(self):
50
51 GET_BOOL = 'SELECT MAX(ROWID) FROM shelf'
52 return self.conn.execute(GET_BOOL).fetchone()[0] is not None
53
◆ __contains__()
| python.dbsqlite.SQLhash.__contains__ |
( |
| self, |
|
|
| key ) |
Definition at line 78 of file dbsqlite.py.
78 def __contains__(self, key):
79 HAS_ITEM = 'SELECT 1 FROM shelf WHERE key = ?'
80 return self.conn.execute(HAS_ITEM, (key,)).fetchone() is not None
81
◆ __delitem__()
| python.dbsqlite.SQLhash.__delitem__ |
( |
| self, |
|
|
| key ) |
Definition at line 96 of file dbsqlite.py.
96 def __delitem__(self, key):
97 if key not in self:
98 raise KeyError(key)
99 DEL_ITEM = 'DELETE FROM shelf WHERE key = ?'
100 self.conn.execute(DEL_ITEM, (key,))
101
102
◆ __getitem__()
| python.dbsqlite.SQLhash.__getitem__ |
( |
| self, |
|
|
| key ) |
Definition at line 82 of file dbsqlite.py.
82 def __getitem__(self, key):
83 GET_ITEM = 'SELECT value FROM shelf WHERE key = ?'
84 item = self.conn.execute(GET_ITEM, (key,)).fetchone()
85 if item is None:
86 raise KeyError(key)
87
88 return pickle.loads(item[0])
89
◆ __iter__()
| python.dbsqlite.SQLhash.__iter__ |
( |
| self | ) |
|
Definition at line 63 of file dbsqlite.py.
63 def __iter__(self):
64 return self.iterkeys()
65
◆ __len__()
| python.dbsqlite.SQLhash.__len__ |
( |
| self | ) |
|
Definition at line 45 of file dbsqlite.py.
45 def __len__(self):
46 GET_LEN = 'SELECT COUNT(*) FROM shelf'
47 return self.conn.execute(GET_LEN).fetchone()[0]
48
◆ __setitem__()
| python.dbsqlite.SQLhash.__setitem__ |
( |
| self, |
|
|
| key, |
|
|
| value ) |
Definition at line 90 of file dbsqlite.py.
90 def __setitem__(self, key, value):
91 ADD_ITEM = 'REPLACE INTO shelf (key, value) VALUES (?,?)'
92 value = pickle.dumps(value)
93 self.conn.execute(ADD_ITEM, (key, value))
94
95
◆ clear()
| python.dbsqlite.SQLhash.clear |
( |
| self | ) |
|
Definition at line 116 of file dbsqlite.py.
116 def clear(self):
117 CLEAR_ALL = 'DELETE FROM shelf; VACUUM;'
118 self.conn.executescript(CLEAR_ALL)
119 self.conn.commit()
120
◆ close()
| python.dbsqlite.SQLhash.close |
( |
| self | ) |
|
Definition at line 125 of file dbsqlite.py.
125 def close(self):
126 if self.conn is not None:
127 self.conn.commit()
128 self.conn.close()
129 self.conn = None
130
◆ items()
| python.dbsqlite.SQLhash.items |
( |
| self | ) |
|
Definition at line 60 of file dbsqlite.py.
60 def items(self):
61 return list(self.iteritems())
62
◆ iteritems()
| python.dbsqlite.SQLhash.iteritems |
( |
| self | ) |
|
Definition at line 74 of file dbsqlite.py.
74 def iteritems(self):
75 GET_ITEMS = 'SELECT key, value FROM shelf ORDER BY ROWID'
76 return SQLHashItemIterator(self.conn, GET_ITEMS, (0, 1))
77
◆ iterkeys()
| python.dbsqlite.SQLhash.iterkeys |
( |
| self | ) |
|
Definition at line 66 of file dbsqlite.py.
66 def iterkeys(self):
67 GET_KEYS = 'SELECT key FROM shelf ORDER BY ROWID'
68 return SQLHashKeyIterator(self.conn, GET_KEYS, (0,))
69
◆ itervalues()
| python.dbsqlite.SQLhash.itervalues |
( |
| self | ) |
|
Definition at line 70 of file dbsqlite.py.
70 def itervalues(self):
71 GET_VALUES = 'SELECT value FROM shelf ORDER BY ROWID'
72 return SQLHashValueIterator(self.conn, GET_VALUES, (0,))
73
◆ keys()
| python.dbsqlite.SQLhash.keys |
( |
| self | ) |
|
Definition at line 54 of file dbsqlite.py.
54 def keys(self):
55 return list(self.iterkeys())
56
◆ sync()
| python.dbsqlite.SQLhash.sync |
( |
| self | ) |
|
Definition at line 121 of file dbsqlite.py.
121 def sync(self):
122 if self.conn is not None:
123 self.conn.commit()
124
◆ update()
| python.dbsqlite.SQLhash.update |
( |
| self, |
|
|
| items = (), |
|
|
** | kwds ) |
Definition at line 103 of file dbsqlite.py.
103 def update(self, items=(), **kwds):
104 try:
105 items = items.items()
106 items = [(k,pickle.dumps(v)) for k,v in items]
107 except AttributeError:
108 pass
109
110 UPDATE_ITEMS = 'REPLACE INTO shelf (key, value) VALUES (?, ?)'
111 self.conn.executemany(UPDATE_ITEMS, items)
112 self.conn.commit()
113 if kwds:
114 self.update(kwds)
115
◆ values()
| python.dbsqlite.SQLhash.values |
( |
| self | ) |
|
Definition at line 57 of file dbsqlite.py.
57 def values(self):
58 return list(self.itervalues())
59
◆ conn
| python.dbsqlite.SQLhash.conn = sqlite3.connect(filename) |
The documentation for this class was generated from the following file: