def create_ifnot_onrecord(self, table, name): record = self.db.one('SELECT * FROM rotbot_' + table + ' WHERE LOWER(name)=LOWER(%(name)s) AND network_id=%(network_id)s', name=name, network_id=self.network.id) if record: # On record. if name != record.name: self.db.run('UPDATE rotbot_' + table + ' SET name=%(name)r WHERE LOWER(name)=LOWER(%(name)s) AND network_id=%(network_id)s', name=name, network_id=self.network.id) # Correct capitalisation else: # Record created. self.db.run('INSERT INTO rotbot_' + table + ' (name, network_id) VALUES (%(name)s, %(network_id)s)', name=name, network_id=self.network.id) # Create record. record = self.db.one('SELECT * FROM rotbot_' + table + ' WHERE LOWER(name)=LOWER(%(name)s) AND network_id=%(network_id)s', name=name, network_id=self.network.id) return record