MCPcopy
hub / github.com/coleifer/sqlite-web / SqliteDataSet

Class SqliteDataSet

sqlite_web/sqlite_web.py:106–232  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104#
105
106class SqliteDataSet(DataSet):
107 @property
108 def filename(self):
109 db_file = self._database.database
110 if db_file.startswith('file:'):
111 db_file = db_file[5:]
112 return os.path.realpath(db_file.rsplit('?', 1)[0])
113
114 @property
115 def basename(self):
116 return os.path.basename(self.filename)
117
118 @property
119 def is_readonly(self):
120 db_file = self._database.database
121 return db_file.endswith('?mode=ro')
122
123 @property
124 def base_name(self):
125 return os.path.basename(self.filename)
126
127 @property
128 def created(self):
129 stat = os.stat(self.filename)
130 return datetime.datetime.fromtimestamp(stat.st_ctime)
131
132 @property
133 def modified(self):
134 stat = os.stat(self.filename)
135 return datetime.datetime.fromtimestamp(stat.st_mtime)
136
137 @property
138 def size_on_disk(self):
139 stat = os.stat(self.filename)
140 return stat.st_size
141
142 def get_indexes(self, table):
143 return self._database.get_indexes(table)
144
145 def get_all_indexes(self):
146 cursor = self.query(
147 'SELECT name, sql FROM sqlite_master '
148 'WHERE type = ? ORDER BY name',
149 ('index',))
150 return [IndexMetadata(row[0], row[1], None, None, None)
151 for row in cursor.fetchall()]
152
153 def get_columns(self, table):
154 return self._database.get_columns(table)
155
156 def get_foreign_keys(self, table):
157 return self._database.get_foreign_keys(table)
158
159 def get_triggers(self, table):
160 cursor = self.query(
161 'SELECT name, sql FROM sqlite_master '
162 'WHERE type = ? AND tbl_name = ?',
163 ('trigger', table))

Callers 1

initialize_datasetFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected