def save_to_db(self): """ Save all player data to MySQL database. If a record with player is not exists, it is inserted. If method knows _id of player, it will try to update existing db record. :return: None """ insert_query = """INSERT INTO Money (player_id, code, amount, created, updated) VALUES (%(player_id)s, %(code)s, %(amount)s, now(), now())""" update_query = """UPDATE Money SET code=%(code)s, amount=%(amount)s, updated=now() WHERE player_id=%(player_id)s""" sql_data = { "player_id": self.player_id, "code": self.code, "amount": self.amount, } cursor = connection.cursor() if self.id is None: try: cursor.execute(insert_query, sql_data) self.id = cursor.lastrowid # cursor.fetchone()[0] except ModelIntegrityError: print("\nDEBUG: an integrity error occured when session inserting, it's OK") pass else: sql_data["id"] = self.id cursor.execute(update_query, sql_data)
def save_to_db(self): """ Save all player data to MySQL database. If a record with player is not exists, it is inserted. If method knows _id of player, it will try to update existing db record. :return: None """ insert_query = """INSERT INTO Player (type, nickname, email, password, created, updated) VALUES (%(type)s, %(nickname)s, %(email)s, %(password)s, now(), now())""" update_query = """UPDATE Player SET type=%(type)s, nickname=%(nickname)s, email=%(email)s, password=%(password)s, updated=now() WHERE id=%(id)s""" sql_data = { "type" : self.type, "nickname" : self.nickname, "email" : self.email, "password" : self.password, } cursor = connection.cursor() if self.id is None: try: cursor.execute(insert_query, sql_data) self.id = cursor.lastrowid #cursor.fetchone()[0] except ModelIntegrityError: print("\nDEBUG: an integrity error occured when player\n" " inserting, it's OK") pass else: sql_data["id"] = self.id cursor.execute(update_query, sql_data)
def save_to_db(self): """ Save all player data to MySQL database. If a record with player is not exists, it is inserted. If method knows _id of player, it will try to update existing db record. :return: None """ insert_query = """INSERT INTO Session (player_id, start_time, finish_time, elapse_time, created, updated) VALUES (%(player_id)s, %(start_time)s, %(finish_time)s, %(elapse_time)s, now(), now())""" update_query = """UPDATE Session SET start_time=%(start_time)s, finish_time=%(finish_time)s, elapse_time=%(elapse_time)s, updated=now() WHERE player_id=%(player_id)s""" sql_data = { "player_id": self.player_id, "start_time": self.start_time, "finish_time": self.finish_time, "elapse_time": self.elapse_time, } cursor = connection.cursor() if self.id is None: try: cursor.execute(insert_query, sql_data) self.id = cursor.lastrowid # cursor.fetchone()[0] except ModelIntegrityError: print("\nDEBUG: an integrity error occured when session inserting, it's OK") pass else: sql_data["id"] = self.id cursor.execute(update_query, sql_data)
def delete_from_db(self): """ Method for deleting player from DB. Needs correct _id field. Perhaps player should be loaded before using this method. :return: None """ cursor = connection.cursor() delete_query = "DELETE FROM Money WHERE id=%(id)s" sql_data = {"id": self.id} cursor.execute(delete_query, sql_data)
def delete_from_db(self): """ Method for deleting player from DB. Needs correct _id field. Perhaps player should be loaded before using this method. :return: None """ cursor = connection.cursor() delete_query = "DELETE FROM Player WHERE id=%(id)s" sql_data = { "id": self.id } cursor.execute(delete_query, sql_data)
def load_from_db(self, player_id): """ Method for loading player instance from DB row :param email: Player email for loading all info from db :return: None """ cursor = connection.cursor() sql_query = """SELECT id, player_id, start_time, finish_time, elapse_time, created, updated FROM Session WHERE player_id=%(player_id)s""" sql_args = { "player_id": player_id } new_list = [] cursor.execute(sql_query, sql_args) db_row = cursor.fetchone() for elem in db_row: new_list.append(elem) print u"\n#################################\n" \ u"ID : {}\n" \ u"Player_id : {}\n" \ u"Start_time : {}\n" \ u"Finish_time : {}\n" \ u"Elapse_time : {}\n" \ u"Created : {}\n" \ u"Updated : {}\n" \ u"#################################\n" \ u"Was loaded from db.\n".format(new_list[0], new_list[1], new_list[2], new_list[3], new_list[4], new_list[5], new_list[6]) self.id = db_row[0] self.player_id = db_row[1] self.start_time = db_row[2] self.finish_time = db_row[3] self.elapse_time = db_row[4] self.created = db_row[5] self.updated = db_row[6]
def load_from_db(self,email): """ Method for loading player instance from DB row :param email: Player email for loading all info from db :return: None """ cursor = connection.cursor() sql_query = """SELECT id, type, nickname, email, password, created, updated FROM Player WHERE email=%(email)s""" sql_args = { "email": email } new_list = [] cursor.execute(sql_query,sql_args) db_row = cursor.fetchone() for elem in db_row: new_list.append(elem) print u"\n############################################\n" \ u"Id : {}\n" \ u"Type : {} (admin or moderator=0, user=1)\n" \ u"Nickname : {}\n" \ u"Email : {}\n" \ u"Password : {}\n" \ u"Created : {}\n" \ u"Updated : {}\n" \ u"############################################\n" \ u"Was loaded from db.\n".format(new_list[0],new_list[1],new_list[2],new_list[3], new_list[4],new_list[5],new_list[6]) self.id = db_row[0] self.type = db_row[1] self.nickname = db_row[2] self.email = db_row[3] self.password = db_row[4] self.created = db_row[5] self.updated = db_row[6]