import sqlite3 class City: def __init__(self, connection : sqlite3.Connection, id, name): self.connection = connection self.id = id self.name = name def load_by_id(self): cur = self.connection.cursor() row = cur.execute("SELECT * FROM cities WHERE id = ?", (self.id,)).fetchone() if row == None: return False self._set_row_values(row) cur.close() return True def load_by_name(self): cur = self.connection.cursor() row = cur.execute("SELECT * FROM cities WHERE name = ?", (self.name,)).fetchone() if row == None: return False self._set_row_values(row) cur.close() return True def save(self): cur = self.connection.cursor() cur.execute(""" INSERT INTO cities (id, name) VALUES (?, ?) """, (self.id, self.name)) self.connection.commit() cur.close() return True def update(self): cur = self.connection.cursor() cur.execute(""" UPDATE cities SET name = ?, WHERE id = ? """, (self.name, self.id)) self.connection.commit() cur.close() return True def _set_row_values(self, row): self.id = row[0] self.name = row[1]