Add sql_executescript.
This commit is contained in:
		
							parent
							
								
									8e964e2888
								
							
						
					
					
						commit
						6a98631f2d
					
				
					 1 changed files with 16 additions and 2 deletions
				
			
		|  | @ -2,6 +2,7 @@ import bcrypt | ||||||
| import json | import json | ||||||
| import os | import os | ||||||
| import random | import random | ||||||
|  | import re | ||||||
| import sqlite3 | import sqlite3 | ||||||
| import tempfile | import tempfile | ||||||
| import time | import time | ||||||
|  | @ -1093,6 +1094,19 @@ class PDBSQLMixin: | ||||||
|         cur.execute(query, bindings) |         cur.execute(query, bindings) | ||||||
|         return cur |         return cur | ||||||
| 
 | 
 | ||||||
|  |     def sql_executescript(self, script): | ||||||
|  |         ''' | ||||||
|  |         The problem with Python's default executescript is that it executes a | ||||||
|  |         COMMIT before running your script. If I wanted a commit I'd write one! | ||||||
|  |         ''' | ||||||
|  |         lines = re.split(r';(:?\n|$)', script) | ||||||
|  |         lines = (line.strip() for line in lines) | ||||||
|  |         lines = (line for line in lines if line) | ||||||
|  |         cur = self.sql.cursor() | ||||||
|  |         for line in lines: | ||||||
|  |             self.log.loud(line) | ||||||
|  |             cur.execute(line) | ||||||
|  | 
 | ||||||
|     def sql_insert(self, table, data): |     def sql_insert(self, table, data): | ||||||
|         self.assert_table_exists(table) |         self.assert_table_exists(table) | ||||||
|         column_names = constants.SQL_COLUMNS[table] |         column_names = constants.SQL_COLUMNS[table] | ||||||
|  | @ -1833,12 +1847,12 @@ class PhotoDB( | ||||||
| 
 | 
 | ||||||
|     def _first_time_setup(self): |     def _first_time_setup(self): | ||||||
|         self.log.info('Running first-time database setup.') |         self.log.info('Running first-time database setup.') | ||||||
|         self.sql.executescript(constants.DB_INIT) |         self.sql_executescript(constants.DB_INIT) | ||||||
|         self.sql.commit() |         self.sql.commit() | ||||||
| 
 | 
 | ||||||
|     def _load_pragmas(self): |     def _load_pragmas(self): | ||||||
|         self.log.debug('Reloading pragmas.') |         self.log.debug('Reloading pragmas.') | ||||||
|         self.sql.executescript(constants.DB_PRAGMAS) |         self.sql_executescript(constants.DB_PRAGMAS) | ||||||
|         self.sql.commit() |         self.sql.commit() | ||||||
| 
 | 
 | ||||||
|     def __del__(self): |     def __del__(self): | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue