self.module.elog.commit('Deleted %d %s from database.' % (len(deleted), self.name))
for e in changed:
- if e.id == -1:
- self.cursor.execute("INSERT INTO " + self.module.name + "_" + self.name + " (name) VALUES(%s)", (e.name,))
- e.id = self.cursor.lastrowid
- else: # delete options as we are aboue to re-flush them
- self.cursor.execute("DELETE FROM " + self.module.name + "_" + self.name + "_options WHERE `id` = %s", (e.id,))
-
- for attr_name in self.__get_attributes(e):
- attr = getattr(e, attr_name)
- if attr:
- self.cursor.execute("INSERT INTO " + self.module.name + "_" + self.name + "_options (id, name, value) VALUES (%s, %s, %s)", (e.id, attr_name, attr))
+ try:
+ if e.id == -1:
+ self.cursor.execute("INSERT INTO " + self.module.name + "_" + self.name + " (name) VALUES(%s)", (e.name,))
+ e.id = self.cursor.lastrowid
+ else: # delete options as we are aboue to re-flush them
+ self.cursor.execute("DELETE FROM " + self.module.name + "_" + self.name + "_options WHERE `id` = %s", (e.id,))
+
+ for attr_name in self.__get_attributes(e):
+ attr = getattr(e, attr_name)
+ if attr:
+ self.cursor.execute("INSERT INTO " + self.module.name + "_" + self.name + "_options (id, name, value) VALUES (%s, %s, %s)", (e.id, attr_name, attr))
+ except Exception, err:
+ traceback.print_exc()
+ self.module.elog.error(self.name + ' commit failed for ' + e.name + ': @b%s@b' % err)
if len(changed) > 0:
self.module.elog.commit('Committed %d %s to database.' % (len(changed), self.name))