mirror of
				https://github.com/tiyn/container-critique.git
				synced 2025-10-31 03:01:21 +01:00 
			
		
		
		
	database: date switched to item, ids removed for objects
This commit is contained in:
		| @@ -136,7 +136,7 @@ def write_entry(): | ||||
| def delete_entry(ident): | ||||
|     if not current_user.is_authenticated: | ||||
|         return redirect(url_for("index")) | ||||
|     if current_user.id == db.get_entry_by_id(ident).user_id: | ||||
|     if current_user.id == db.get_entry_by_id(ident).user.id: | ||||
|         db.delete_entry(ident) | ||||
|     return redirect(url_for("index")) | ||||
|  | ||||
|   | ||||
| @@ -33,16 +33,17 @@ def gen_arch_string(): | ||||
|     entries = db.get_entries() | ||||
|     if entries is None: | ||||
|         return "" | ||||
|     entries.sort(key=lambda y: db.get_item_by_id(y.item_id).name) | ||||
|     entries.sort(key=lambda y: y.item.name) | ||||
|     entries.reverse() | ||||
|     entries.sort(key=lambda y: y.date) | ||||
|     entries.sort(key=lambda y: y.item.date) | ||||
|     entries.reverse() | ||||
|     for entry in entries: | ||||
|         ident = entry.id | ||||
|         title = db.get_item_by_id(entry.item_id).name | ||||
|         year = entry.date | ||||
|         title = entry.item.name | ||||
|         print("title", title) | ||||
|         year = entry.item.date | ||||
|         rating = entry.rating | ||||
|         username = db.get_user_by_id(entry.user_id).name | ||||
|         username = entry.user.name | ||||
|         if year != last_year: | ||||
|             if last_year != "": | ||||
|                 content_string += "</ul>\n" | ||||
| @@ -70,16 +71,16 @@ def gen_user_string(name): | ||||
|     entries = db.get_entries_by_user(name) | ||||
|     if entries is None: | ||||
|         return "" | ||||
|     entries.sort(key=lambda y: db.get_item_by_id(y.item_id).name) | ||||
|     entries.sort(key=lambda y: y.item.name) | ||||
|     entries.reverse() | ||||
|     entries.sort(key=lambda y: y.date) | ||||
|     entries.sort(key=lambda y: y.item.date) | ||||
|     entries.reverse() | ||||
|     for entry in entries: | ||||
|         ident = entry.id | ||||
|         title = db.get_item_by_id(entry.item_id).name | ||||
|         year = entry.date | ||||
|         title = entry.item.name | ||||
|         year = entry.item.date | ||||
|         rating = entry.rating | ||||
|         username = db.get_user_by_id(entry.user_id).name | ||||
|         username = entry.user.name | ||||
|         if year != last_year: | ||||
|             if last_year != "": | ||||
|                 content_string += "</ul>\n" | ||||
| @@ -110,11 +111,11 @@ def gen_index_string(): | ||||
|     entries.reverse() | ||||
|     for entry in entries: | ||||
|         ident = entry.id | ||||
|         title = db.get_item_by_id(entry.item_id).name | ||||
|         year = entry.date | ||||
|         title = entry.item.name | ||||
|         year = entry.item.date | ||||
|         text = entry.text | ||||
|         rating = entry.rating | ||||
|         username = db.get_user_by_id(entry.user_id).name | ||||
|         username = entry.user.name | ||||
|         reviewed = entry.reviewed | ||||
|         content_string += "<div class=\"entry\">\n" | ||||
|         content_string += "<h1 id=\"" + str(ident) + "\"><a href=\"" + \ | ||||
| @@ -143,11 +144,11 @@ def gen_stand_string(ident): | ||||
|     content_string = "" | ||||
|     if entry is not None: | ||||
|         ident = entry.id | ||||
|         title = db.get_item_by_id(entry.item_id).name | ||||
|         year = entry.date | ||||
|         title = entry.item.name | ||||
|         year = entry.item.date | ||||
|         text = entry.text | ||||
|         rating = entry.rating | ||||
|         username = db.get_user_by_id(entry.user_id).name | ||||
|         username = entry.user.name | ||||
|         reviewed = entry.reviewed | ||||
|         content_string += "<h1>" + title + \ | ||||
|             " (" + year + ") " | ||||
| @@ -179,11 +180,11 @@ def get_rss_string(): | ||||
|     entries.reverse() | ||||
|     for entry in entries: | ||||
|         ident = entry.id | ||||
|         title = db.get_item_by_id(entry.item_id).name | ||||
|         year = entry.date | ||||
|         title = entry.item.name | ||||
|         year = entry.item.date | ||||
|         text = entry.text | ||||
|         rating = entry.rating | ||||
|         username = db.get_user_by_id(entry.user_id).name | ||||
|         username = entry.user.name | ||||
|         reviewed = entry.reviewed | ||||
|         content_string += "<item>\n" | ||||
|         content_string += "<title>" + title + "(" + year + ") " + \ | ||||
|   | ||||
| @@ -29,8 +29,9 @@ class User(): | ||||
|  | ||||
| class Item(): | ||||
|  | ||||
|     def __init__(self, name): | ||||
|     def __init__(self, name, date): | ||||
|         self.name = name | ||||
|         self.date = date | ||||
|         self.id = None | ||||
|  | ||||
|     def set_id(self, ident): | ||||
| @@ -39,17 +40,22 @@ class Item(): | ||||
|  | ||||
| class Entry(): | ||||
|  | ||||
|     def __init__(self, item_id, date, text, rating, user_id, reviewed): | ||||
|         self.item_id = item_id | ||||
|         self.date = date | ||||
|     def __init__(self, text, rating, reviewed): | ||||
|         self.text = text | ||||
|         self.rating = rating | ||||
|         self.user_id = user_id | ||||
|         self.reviewed = reviewed | ||||
|         self.item = None | ||||
|         self.user = None | ||||
|  | ||||
|     def set_id(self, ident): | ||||
|         self.id = ident | ||||
|  | ||||
|     def set_item(self, item): | ||||
|         self.item = item | ||||
|  | ||||
|     def set_user(self, user): | ||||
|         self.user = user | ||||
|  | ||||
|  | ||||
| class Database: | ||||
|  | ||||
| @@ -79,12 +85,12 @@ class Database: | ||||
|         crs.execute(query) | ||||
|         query = "CREATE TABLE IF NOT EXISTS " + self.ITEM_TABLE_FILE + \ | ||||
|             "(id INTEGER PRIMARY KEY AUTOINCREMENT," + \ | ||||
|             "date CHAR(4)," + \ | ||||
|             "name CHAR(32) NOT NULL UNIQUE)" | ||||
|         crs.execute(query) | ||||
|         query = "CREATE TABLE IF NOT EXISTS " + self.ENTRY_TABLE_FILE + \ | ||||
|             "(id INTEGER PRIMARY KEY AUTOINCREMENT," + \ | ||||
|             "item_id INTEGER NOT NULL REFERENCES " + self.ITEM_TABLE_FILE + "(id)," + \ | ||||
|             "date CHAR(4) NOT NULL," + \ | ||||
|             "text TEXT NOT NULL," + \ | ||||
|             "rating INTEGER NOT NULL," +\ | ||||
|             "user_id INTEGER REFERENCES " + self.USER_TABLE_FILE + "(id),"\ | ||||
| @@ -109,17 +115,17 @@ class Database: | ||||
|         db = self.connect() | ||||
|         crs = db.cursor() | ||||
|         query = "INSERT OR IGNORE INTO " + self.ITEM_TABLE_FILE + \ | ||||
|             "(`name`)" + "VALUES (?)" | ||||
|         crs.execute(query, (name, )) | ||||
|             "(`name`,`date`)" + "VALUES (?, ?)" | ||||
|         crs.execute(query, (name, date)) | ||||
|         query = "SELECT id FROM " + self.ITEM_TABLE_FILE + \ | ||||
|             " WHERE name = ?" | ||||
|         crs.execute(query, (name, )) | ||||
|         item_id = crs.fetchone()[0] | ||||
|         reviewed = dt.today().strftime('%Y-%m-%d') | ||||
|         query = "INSERT INTO " + self.ENTRY_TABLE_FILE + \ | ||||
|             "(`item_id`,`date`, `text`, `rating`, `user_id`, `reviewed`)" + \ | ||||
|             "VALUES (?, ?, ?, ?, ?, ?)" | ||||
|         crs.execute(query, (item_id, date, text, rating, user_id, reviewed)) | ||||
|             "(`item_id`, `text`, `rating`, `user_id`, `reviewed`)" + \ | ||||
|             "VALUES (?, ?, ?, ?, ?)" | ||||
|         crs.execute(query, (item_id, text, rating, user_id, reviewed)) | ||||
|         db.commit() | ||||
|         return crs.lastrowid | ||||
|  | ||||
| @@ -202,12 +208,14 @@ class Database: | ||||
|         user.set_id(ident) | ||||
|         return user | ||||
|  | ||||
|     def db_to_item(self, ident, name): | ||||
|         item = Item(name) | ||||
|     def db_to_item(self, ident, name, date): | ||||
|         item = Item(date, name) | ||||
|         item.set_id(ident) | ||||
|         return item | ||||
|  | ||||
|     def db_to_entry(self, ident, item_id, date, text, rating, user_id, reviewed): | ||||
|         entry = Entry(item_id, date, text, rating, user_id, reviewed) | ||||
|     def db_to_entry(self, ident, item_id, text, rating, user_id, reviewed): | ||||
|         entry = Entry(text, rating, reviewed) | ||||
|         entry.set_id(ident) | ||||
|         entry.set_item(self.get_item_by_id(item_id)) | ||||
|         entry.set_user(self.get_user_by_id(user_id)) | ||||
|         return entry | ||||
|   | ||||
		Reference in New Issue
	
	Block a user