From 3e5031a1c5b436f63cd7c15a357d06ffed2d0e0c Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Fri, 16 Feb 2018 18:49:02 -0800 Subject: [PATCH] Add methods sql_insert, sql_update to centralize sqlhelper work. --- etiquette/photodb.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/etiquette/photodb.py b/etiquette/photodb.py index 54460d6..86c374b 100644 --- a/etiquette/photodb.py +++ b/etiquette/photodb.py @@ -1321,6 +1321,28 @@ class PhotoDB(PDBAlbumMixin, PDBBookmarkMixin, PDBPhotoMixin, PDBTagMixin, PDBUs thing = thing_map['class'](self, db_row=thing) yield thing + def sql_insert(self, table, data, *, commit=True): + column_names = constants.SQL_COLUMNS[table] + cur = self.sql.cursor() + + (qmarks, bindings) = sqlhelpers.insert_filler(column_names, data) + query = 'INSERT INTO %s VALUES(%s)' % (table, qmarks) + cur.execute(query, bindings) + + if commit: + self.sql.commit() + + def sql_update(self, table, pairs, where_key, *, commit=True): + column_names = constants.SQL_COLUMNS[table] + cur = self.sql.cursor() + + (query, bindings) = sqlhelpers.update_filler(pairs, where_key=where_key) + query = 'UPDATE %s %s' % (table, query) + cur.execute(query, bindings) + + if commit: + self.sql.commit() + _THING_CLASSES = { 'album':