コード例 #1
0
ファイル: money.py プロジェクト: ArseniD/Lesson_12
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
    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)
コード例 #5
0
ファイル: player.py プロジェクト: ArseniD/Lesson_12
    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)
コード例 #6
0
ファイル: money.py プロジェクト: ArseniD/Lesson_12
    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]
コード例 #7
0
    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]
コード例 #8
0
    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]