示例#1
0
    def find_by_title(title):
        result = None
        mapped_names = {}
        mapped_images = {}

        with SQLite() as db:
            result = db.execute("SELECT * FROM anime WHERE title = ?", title)

        anime = result.fetchone()

        if anime is None:
            raise ApplicationError("Anime not found", 404)

        with SQLite() as db:
            characters = db.execute(
                "SELECT characters.name, characters.image FROM anime JOIN characters ON anime.title = characters.anime WHERE title = ?",
                title).fetchall()

            #            characters = db.execute("SELECT characters.name, characters.image FROM characters WHERE anime = ?", title).fetchall()

            VAs = db.execute(
                "SELECT VAs.name, VAs.image FROM anime JOIN characters ON anime.title = characters.anime JOIN VAs ON VAs.name = characters.VA WHERE title = ?",
                title).fetchall()

        f = 0

        for i, j in zip(characters, VAs):
            for i1, j1 in zip(i, j):
                if f == 1:
                    mapped_images[i1] = j1
                    break
                mapped_names[i1] = j1
                f = 1

        return Anime(*anime, mapped_names, mapped_images)
示例#2
0
    def find_by_name(name):
        result = None
        mapped_names = {}
        mapped_images = {}

        with SQLite() as db:
            result = db.execute("SELECT * FROM VAs WHERE name = ?", name)
        va = result.fetchone()
        if va is None:
            raise ApplicationError("No character found", 404)

        with SQLite() as db:
            characters = db.execute(
                "SELECT characters.name, characters.image FROM VAs JOIN characters ON VAs.name = characters.VA WHERE VAs.name = ?",
                name).fetchall()

            anime = db.execute(
                "SELECT anime.title, anime.image FROM VAs JOIN characters ON VAs.name = characters.VA JOIN anime ON anime.title = characters.anime WHERE VAs.name = ?",
                name).fetchall()

        f = 0

        for i, j in zip(characters, anime):
            for i1, j1 in zip(i, j):
                if f == 1:
                    mapped_images[i1] = j1
                    break
                mapped_names[i1] = j1
                f = 1

        filename = ''.join(name)
        path = "./images/" + filename + ".jpg"

        return VA(*va, mapped_names, mapped_images, path)
示例#3
0
    def export_dataset(self) -> None:
        WRITE = 'w'

        l_column_names: list = SQLite.get_table_column_names(
            'discovered_services')
        l_ds_records: list = SQLite.get_discovered_service_records(
            self.type_of_data_to_export)
        with open(self.export_output_file, WRITE) as l_file:
            l_csv_writer = csv.writer(l_file, csv.excel)
            l_csv_writer.writerow(l_column_names)
            l_csv_writer.writerows(l_ds_records)
示例#4
0
    def get_ads():
        query = 'SELECT title, description, price, creation_date, is_active, user_id, buyer_id, id FROM advert'

        with SQLite() as db:
            ads = db.execute(query).fetchall()

        return [Advert(*ad) for ad in ads]
示例#5
0
def get_status_message(matches: list, db: SQLite) -> discord.Embed:
    em = discord.Embed()
    em.color = EMBED_COLOR
    em.title = 'Server Status'
    em.description = '**{}** / **{}** players are online.'.format(
        matches[0], matches[1])

    player_list = []
    name_map = dict((v, k) for k, v in db.get_whitelist().items())

    if len(matches) >= 3 and matches[2]:
        player_names = matches[2].split(',')
        for name in player_names:
            name = name.strip().lower()
            dc_id = name_map.get(name)
            d_name = '`{}`'.format(name)
            if dc_id:
                d_name += ' (<@{}>)'.format(dc_id)
            player_list.append(d_name)
    else:
        player_list = ['*no players online*']

    em.add_field(name='Online Players',
                 value='\n'.join(player_list),
                 inline=False)

    return em
示例#6
0
 def all_questions():
     #fetching all questions from the database
     with SQLite() as db:
         result = db.execute(
             "SELECT content, answer, user, category FROM question"
         ).fetchall()
         return [' | '.join(name) for name in result]
示例#7
0
 def find_by_user(user):
     result = None
     with SQLite() as db:
         result = db.execute(
             "SELECT content, answer FROM question WHERE user = ?",
             (user, )).fetchall()
     return [' | '.join(name) for name in result]
示例#8
0
 def private_check(name):
     with SQLite() as db:
         result = db.execute(
                 "SELECT is_private FROM rooms WHERE name = ?",
                 (name,))
         room = result.fetchone()
     return room[0] == 1
    def get_users():
        query = 'SELECT email, username, password, address, phone, id FROM user'

        with SQLite() as db:
            users = db.execute(query).fetchall()

        return [User(*row) for row in users]
示例#10
0
 def update_match(match, name):
     result = None
     with SQLite() as db:
         result = db.execute("UPDATE user SET match = ? WHERE name = ?",
                             (match, name))
     if result.rowcount == 0:
         raise ApplicationError("No user present", 404)
示例#11
0
 def get_company(company_id):
     result = None
     with SQLite() as db:
         result = db.execute("SELECT * FROM companies WHERE id = ?",
                             (company_id, ))
     company = result.fetchone()
     return Company(*company)
示例#12
0
    def save(self):
        query = "{} INTO anime {} VALUES {}"

        if self.anime_id == None:
            query = query.format("INSERT",
                                 "(title, image, studio, episodes, seasons)",
                                 "(?, ?, ?, ?, ?)")
            args = (self.title, self.convertToBinaryData(self.image),
                    self.studio, self.episodes, self.seasons)
        else:
            query = query.format(
                "REPLACE",
                "(anime_id, title, image, studio, episodes, seasons)",
                "(?, ?, ?, ?, ?, ?)")
            args = (self.anime_id, self.title,
                    self.convertToBinaryData(self.image), self.studio,
                    self.episodes, self.seasons)

        path = "./templates/images" + self.title + ".jpg"
        self.writeTofile(self.convertToBinaryData(self.image), path)

        with SQLite() as db:
            cursor = db.execute(query, args)
            self.anime_id = cursor.lastrowid
        return self
示例#13
0
 def delete(question_tag_id):
     result = None
     with SQLite() as db:
         result = db.execute("DELETE FROM question_tag WHERE id = ?",
                             (question_tag_id, ))
     if result.rowcount == 0:
         raise ApplicationError("No value present", 404)
示例#14
0
 def get_all():
     result = None
     with SQLite() as db:
         result = db.execute(
             "SELECT id, email, password, name, address, phone_number FROM user"
         ).fetchall()
         return [User(*row) for row in result]
示例#15
0
 def __study_file_record_is_new(
         self, p_study_file_record: StudyFileRecord) -> bool:
     l_newer_record_already_in_database: bool = bool(
         SQLite.get_newer_study_file_records(
             p_study_file_record.port, p_study_file_record.protocol,
             p_study_file_record.timestamp).__len__())
     return not l_newer_record_already_in_database
示例#16
0
 def update_rating_by_name(rating, name):
     result = None
     with SQLite() as db:
         result = db.execute("UPDATE user SET rating = ? WHERE name = ?",
                             (rating, name))
     if result.rowcount == 0:
         raise ApplicationError("No user present", 404)
示例#17
0
 def create_user(user, password, email, address, phone_number):
     result = None
     with SQLite() as db:
         result = db.execute("INSERT INTO user (username, password, email, address, phone_number) VALUES (?, ?, ?, ?, ?)",
                 (user, password, email, address, phone_number,))
     if result.rowcount == 0:
         raise ApplicationError("No value present", 404)
示例#18
0
 def update_rating(self, rating):
     result = None
     with SQLite() as db:
         result = db.execute("UPDATE user SET rating = ? WHERE id = ?",
                             (rating, self.id))
     if result.rowcount == 0:
         raise ApplicationError("No user present", 404)
示例#19
0
 def update_choice(self, choice):
     result = None
     with SQLite() as db:
         result = db.execute("UPDATE user SET choice = ? WHERE id = ?",
                             (choice, self.id))
     if result.rowcount == 0:
         raise ApplicationError("No user present", 404)
示例#20
0
 def registerVisitor(name, password, email):
     result = None
     query = "INSERT INTO users {} VALUES {}"
     args = (name, password, "visitor", email)
     query = query.format("(name, password, role, email)", args)
     print(query)
     with SQLite() as db:
         result = db.execute(query)
示例#21
0
 def find_most_recent_by_user(user):
     result = None
     with SQLite() as db:
         result = db.execute(
             "SELECT content, answer, user, category, id FROM question WHERE user = ? ORDER  BY id DESC LIMIT 1",
             (user, ))
     question = result.fetchone()
     return Question(*question)
示例#22
0
 def make_payment(company_id, event_id):
     result = None
     query = "INSERT INTO payments {} VALUES {}"
     args = (event_id, company_id)
     query = query.format("(event_id, company_id)", args)
     print(query)
     with SQLite() as db:
         result = db.execute(query)
示例#23
0
 def send_message(content, sender_id, company_id):
     result = None
     query = "INSERT INTO messages {} VALUES {}"
     args = (content, sender_id, company_id)
     query = query.format("(content, sender_id, company_id)", args)
     print(query)
     with SQLite() as db:
         result = db.execute(query)
示例#24
0
 def registerParticipant(name, password, email, event, c_id):
     result = None
     query = "INSERT INTO users {} VALUES {}"
     args = (name, password, "participant", email, event, c_id)
     query = query.format("(name, password, role, email, event_id, company_id)", args)
     print(query)
     with SQLite() as db:
         result = db.execute(query)
示例#25
0
 def update_answer_by_content(answer, content):
     result = None
     with SQLite() as db:
         result = db.execute(
             "UPDATE question SET answer = ? WHERE content = ?",
             (answer, content))
     if result.rowcount == 0:
         raise ApplicationError("No question present", 404)
示例#26
0
 def send_invite(event_id, user_email):
     result = None
     query = "INSERT INTO invites {} VALUES {}"
     args = (event_id, user_email)
     query = query.format("(event_id, user_email)", args)
     print(query)
     with SQLite() as db:
         result = db.execute(query)
示例#27
0
 def register(name, password, image_link, event_id):
     result = None
     query = "INSERT INTO companies {} VALUES {}"
     args = (name, password, image_link, event_id)
     query = query.format("(name, password, image_link, event_id)", args)
     print(query)
     with SQLite() as db:
         result = db.execute(query)
示例#28
0
 def find_by_name(name):
     result = None
     with SQLite() as db:
         result = db.execute("SELECT * FROM characters WHERE name = ?",
                             name)
     character = result.fetchone()
     if character is None:
         raise ApplicationError("No character found", 404)
     return Character(*character)
示例#29
0
 def find_id(name, password, event_id):
     result = None
     with SQLite() as db:
         result = db.execute(
             "SELECT id FROM companies WHERE name = ? AND password = ? AND event_id = ?",
             (name, password, event_id)).fetchone()
     if result is None:
         raise ApplicationError("False company credentials", 404)
     return result[0]
示例#30
0
 def get_last_registered():
     result = None
     with SQLite() as db:
         result = db.execute(
             "SELECT * FROM user ORDER BY id DESC LIMIT 1", )
     user = result.fetchone()
     if user is None:
         return None
     return User(*user)