ANALYSE-8/models/city.py
2022-10-07 20:10:08 +02:00

66 lines
1.6 KiB
Python

import sqlite3
class City:
def __init__(self, connection : sqlite3.Connection, id = None, name = None):
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 delete(self):
cur = self.connection.cursor()
cur.execute("""DELETE FROM cities WHERE id = ?""", (self.id))
self.connection.commit()
cur.close()
return True
def _set_row_values(self, row):
self.id = row[0]
self.name = row[1]
return self