def alterar_artists(self): # Funcao para alterar os dados de cada artista
        db.__init__()
        print ( "\nEsta prestes a ALTERAR dados da tabela 'ARTISTAS'." )
        self.name = input ( "\nInsira o NOME do Artista que pretende Alterar: " )

        try:
            with db.connection:
                db.cursor.execute ( '''SELECT Name FROM artists WHERE Name = ? ''', ( self.name, ) )
                exists1 = db.cursor.fetchall()

                if exists1: # se existir o nome do artista pode colocar o novo nome
                    new_name = input ( "Insira o novo NOME do Artista: " )
                    db.cursor.execute ( '''SELECT Name FROM artists WHERE Name = ? ''', ( new_name, ) )
                    exists = db.cursor.fetchall()

                    if not exists: # se nao existir o novo nome na bd e alterado
                        db.cursor.execute ( '''UPDATE artists SET Name = ? WHERE Name = ? ''', ( new_name, self.name ) )
                        db.getcommit()
                        print ( "\nO Nome do Artista foi alterado com sucesso!" )
                        print ( "O Artista", self.name, "possui um novo Nome:", new_name )

                    else: # se o novo nome ja existe da erro
                        print ( "\nERRO! O Artista",new_name,"ja existe!" )

                else: # se o artista nao existir na bd
                    print ( "\nERRO! O Artista",self.name,"nao existe!" )

        except sqlite3.IntegrityError: # qualquer outro erro que possa acontecer
            print ( "\nERRO! Impossivel ALTERAR o Artista!" )

        finally:
            db.closedb()
Exemplo n.º 2
0
    def apagar_albums(self):  # Funcao para apagar albums
        db.__init__()
        print("\nEsta prestes a APAGAR dados da tabela 'Albums'.")
        self.title = input("Titulo do Album: ")

        try:
            with db.connection:
                db.cursor.execute('''SELECT Title FROM albums WHERE Title=?''',
                                  (self.title, ))
                exists = db.cursor.fetchall()

                if exists:  # se o nome do album existir na bd continua e apaga
                    db.cursor.execute(
                        '''DELETE FROM Albums WHERE Title = ? ''',
                        (self.title, ))
                    db.getcommit()
                    print("\nO Album", self.title,
                          "foi eliminado com sucesso!")

                else:  # senao da erro
                    print("\nERRO! O Album", self.title, "nao existe!")

        except sqlite3.IntegrityError:  # qualquer outro erro que possa acontecer
            print("\nERRO! Impossivel APAGAR o album!")

        finally:
            db.closedb()
    def inserir_genres(self):  # Funcao para inserir novos generos
        db.__init__()
        print("\nEsta prestes a INSERIR dados na tabela 'Generos'.")
        self.name = input("Nome do genero: ")

        try:
            with db.connection:
                db.cursor.execute('''SELECT Name FROM genres WHERE Name=?''',
                                  (self.name, ))
                exists = db.cursor.fetchall()

                if not exists:  # se o genero nao existir ja na bd executa
                    db.cursor.execute('''INSERT INTO genres(Name)VALUES(?)''',
                                      (self.name, ))
                    db.getcommit()
                    print(
                        "\nDados inseridos com sucesso na tabela 'Generos' da base de dados."
                    )
                    print("Genero:", self.name)

                else:  # se o novo nome ja existe da erro
                    print("\nERRO! O Genero", self.name, "ja existe!")

        except sqlite3.IntegrityError:  # qualquer outro erro que possa acontecer
            print("\nERRO! Impossivel inserir Artista! ")

        finally:
            db.closedb()
    def apagar_genres(self):  # Funcao para apagar generos
        db.__init__()
        print("\nEsta prestes a APAGAR dados da tabela 'Generos'.")
        self.name = input("Nome do Genero:")

        try:
            with db.connection:
                db.cursor.execute('''SELECT Name FROM genres WHERE Name=?''',
                                  (self.name, ))
                exists = db.cursor.fetchall()

                if exists:  # se o nome do genero existir na bd continua e apaga
                    db.cursor.execute('''DELETE FROM genres WHERE Name = ? ''',
                                      (self.name, ))
                    db.getcommit()
                    print("\nO Genero,", self.name,
                          "foi eliminado com sucesso!")

                else:  # senao da erro
                    print("\nERRO! O Genero", self.name, "nao existe!")

        except sqlite3.IntegrityError:  # qualquer outro erro que possa acontecer
            print("\nERRO! Impossivel APAGAR o Genero!")

        finally:
            db.closedb()
Exemplo n.º 5
0
    def inserir_albums(self):  # Funcao para inserir novos albums
        db.__init__()
        print("\nEsta prestes a INSERIR dados na tabela 'Albums'.")

        while True:  # ciclo while para pedir informacoes do album ao utilizador
            try:
                self.title = input("\nTitulo do album: ")
                self.artistid = int(input("ID do artista: "))

                if self.title == '' or self.title == ' ':  # titulo vazio da erro
                    print("\nERRO! INSIRA TODOS OS DADOS!")
                    break

                elif self.artistid == '' or self.artistid == ' ':  # id do artista da erro
                    print("\nERRO! INSIRA TODOS OS DADOS!")
                    break

                else:  # continua senao houver erros nenhums
                    try:
                        with db.connection:
                            db.cursor.execute(
                                '''SELECT Title FROM albums WHERE Title=?''',
                                (self.title, ))
                            exists = db.cursor.fetchall()

                            if not exists:  # vai verificar o nome do album na bd senao existir executa
                                db.cursor.execute(
                                    '''INSERT INTO albums(Title, Artistid) VALUES(?,?)''',
                                    (self.title, self.artistid))
                                db.getcommit()
                                print(
                                    "\nDados inseridos com sucesso na tabela 'Albums' da base de dados."
                                )
                                print("\nTitulo:", self.title)
                                print("ID Artista:", self.artistid)
                                break

                            else:  # senao da erro que o nome do album ja existe na bd
                                print("\nERRO! O Album com o Titulo,",
                                      self.title, "ja existe!")

                    except sqlite3.IntegrityError:  # qualquer outro erro que possa acontecer
                        print("\nERRO! Impossivel criar Album!")

                    finally:
                        db.closedb()

            except ValueError as error:  # qualquer outro erro de parametros
                print("\nErro de Parametro! Valor Inteiro/Decimal/Vazio!")
                print("Erro:", error)
                break
    def verificarContas(
        self
    ):  # Função para verificar se a tabela utilizadores esta vazia, caso esteja vai criar o utilizador admin com a password admin
        db.cursor.execute("SELECT * FROM utilizadores")
        db.getcommit()
        admin = db.cursor.fetchall()

        if len(admin) == 0:
            db.cursor.execute(
                "INSERT INTO utilizadores Values('1','admin','21232f297a57a5a743894a0e4a801fc3')"
            )
            db.cursor.execute("SELECT * FROM utilizadores")
            db.getcommit()
            results = db.cursor.fetchall()  # Verificar os resultados obtidos

            for row in results:
                print(row)
        db.closedb()
Exemplo n.º 7
0
    def alterar_albums(self):  # Funcao para modificar os dados de cada album
        db.__init__()
        print("\nEsta prestes a ALTERAR dados da tabela 'Albums'.")
        alt1 = input("\nPretende alterar: 1.TITULO | 2.ID do Artista: ")

        try:
            with db.connection:

                if alt1 == '1':  # a escolha um para alterar o titulo do album
                    self.title = input(
                        "\nInsira o Titulo do album que pretende alterar: ")
                    db.cursor.execute(
                        '''SELECT Title FROM albums WHERE Title = ? ''',
                        (self.title, ))
                    exists1 = db.cursor.fetchall()

                    if exists1:  # se existir o titulo do album pode colocar o novo titulo
                        new_title = input("Insira o NOVO Titulo do album: ")
                        db.cursor.execute(
                            '''SELECT Title FROM albums WHERE Title = ? ''',
                            (new_title, ))
                        exists = db.cursor.fetchall()

                        if not exists:  # se nao existir o novo titulo na bd e alterado
                            db.cursor.execute(
                                '''UPDATE albums SET Title = ? WHERE Title = ? ''',
                                (new_title, self.title))
                            db.getcommit()
                            print(
                                "\nO Titulo do Album foi alterado com sucesso!"
                            )
                            print("O Album", self.title,
                                  "possui um novo Titulo:", new_title)

                        else:  # se o novo titulo ja existe da erro
                            print("\nERRO! O Album", new_title, "ja existe!")

                    else:  # se o album nao existir na bd
                        print("\nERRO! O Album", self.title, "nao existe!")

                elif alt1 == '2':  # se escolher a operacao de mudar id do artista
                    self.title = input(
                        "\nInsira o Titulo do album que pretende alterar o ID do Artista: "
                    )
                    db.cursor.execute(
                        '''SELECT Title FROM albums WHERE Title = ? ''',
                        (self.title, ))
                    exists = db.cursor.fetchall(
                    )  # guarda o titulo do album para ver se existe na bd

                    if exists:  # se existir pode continuar
                        new_artistid = input("Insira o NOVO ID do artista: ")
                        db.cursor.execute(
                            '''UPDATE Albums SET ArtistId = ? WHERE Title = ? ''',
                            (new_artistid, self.title))
                        db.getcommit()
                        print("\nID do Artista alterado com sucesso!")
                        print("O Album", self.title,
                              "possui um novo Artista com o ID:", new_artistid)

                    else:  # senao existir da erro
                        print("\nERRO! O Album nao existe!")

                else:  # caso escolha uma outro opcao da erro
                    print("\nEscolha uma opcao valida!")

        except sqlite3.IntegrityError:  # qualquer outro erro que possa acontecer
            print("\nERRO! Impossivel ALTERAR o Album!")

        finally:
            db.closedb()
Exemplo n.º 8
0
    def alterar_musics(self):  # Funcao para modificar os dados de cada musica
        db.__init__()
        print("\nEsta prestes a ALTERAR dados da tabela 'Musicas'")
        view.escolha_operacao()  # view para ver as escolhas de operacao
        alt1 = input("\nEscolha Opcao: ")

        try:
            with db.connection:
                if alt1 == '1':  # a escolha um para alterar o nome da musica
                    self.Name = input(
                        " \nInsira o Nome da Musica que pretende alterar: ")
                    db.cursor.execute(
                        '''SELECT Name FROM tracks WHERE Name = ? ''',
                        (self.Name, ))
                    exists1 = db.cursor.fetchall()

                    if exists1:  # se existir o nome da musica pode colocar o novo nome
                        new_name = input("Insira o NOVO Nome da Musica: ")

                        if new_name != '':  # nome introduzido altera o nome
                            db.cursor.execute(
                                '''SELECT Name FROM tracks WHERE Name = ? ''',
                                (new_name, ))
                            exists = db.cursor.fetchall()

                        else:  # nome vazio da erro
                            print("ERRO! Tem de inserir um NOME!")
                            return

                        if not exists:  # se nao existir o novo nome na bd e alterado
                            db.cursor.execute(
                                '''UPDATE tracks SET Name = ? WHERE Name = ? ''',
                                (new_name, self.Name))
                            db.getcommit()
                            print(
                                "\nO Nome da Musica foi alterado com sucesso!")
                            print("A Musica", self.Name,
                                  "possui um novo Nome:", new_name)

                        else:  # se o novo nome ja existe da erro
                            print("\nERRO! A Musica", new_name, "ja existe!")

                    else:  # se a musica nao existir na bd
                        print("\nERRO! A Musica", self.Name, "nao existe!")

                elif alt1 == '2':  # se escolher a operacao de mudar id do artista
                    self.Name = input(
                        "\nInsira o Nome da Musica que pretende alterar o ID do Album: "
                    )
                    db.cursor.execute(
                        '''SELECT Name FROM tracks WHERE Name = ? ''',
                        (self.Name, ))
                    exists = db.cursor.fetchall(
                    )  # guarda o nome da musica para ver se existe na bd

                    if exists:  # se existir pode continuar
                        new_albumid = input("Insira o NOVO ID do Album: ")
                        db.cursor.execute(
                            '''UPDATE tracks SET ArtistId = ? WHERE Name = ? ''',
                            (new_albumid, self.Name))
                        db.getcommit()
                        print("\nID do Album alterado com sucesso!")
                        print("A Musica", self.Name,
                              "possui um novo Album com o ID:", new_albumid)

                    else:  # senao existir da erro
                        print("\nERRO! A Musica nao existe!")

                elif alt1 == '3':  # se escolher a operacao de mudar id do genero
                    self.Name = input(
                        "\nInsira o Nome da Musica que pretende alterar o ID do Genero: "
                    )
                    db.cursor.execute(
                        '''SELECT Name FROM tracks WHERE Name = ? ''',
                        (self.Name, ))
                    exists = db.cursor.fetchall(
                    )  # guardar o nome da musica para ver se existe na bd

                    if exists:  # se existir pode continuar
                        new_genreid = input("Insira o NOVO ID do Genero: ")
                        db.cursor.execute(
                            '''UPDATE tracks SET GenreId = ? WHERE Name = ? ''',
                            (new_genreid, self.Name))
                        db.getcommit()
                        print("\nID do Genero alterado com sucesso!")
                        print("A Musica", self.Name,
                              "possui um novo Genero com o ID:", new_genreid)

                    else:  # senao existir da erro
                        print("\nERRO! A Musica nao existe!")

                elif alt1 == '4':  # se escolher a operacao de mudar o compositor
                    self.Name = input(
                        "\nInsira o Nome da Musica que pretende alterar o Compositor: "
                    )
                    db.cursor.execute(
                        '''SELECT Name FROM tracks WHERE Name = ? ''',
                        (self.Name, ))
                    exists = db.cursor.fetchall()

                    if exists:  # se existir pode continuar
                        new_composer = input("Insira o NOVO Compositor: ")
                        db.cursor.execute(
                            '''UPDATE tracks SET Composer = ? WHERE Name = ? ''',
                            (new_composer, self.Name))
                        db.getcommit()
                        print("\nCompositor alterado com sucesso!")
                        print(" A Musica", self.Name,
                              "possui um novo Compositor:", new_composer)

                    else:  # senao existir da erro
                        print("\nERRO! A Musica nao existe!")

                elif alt1 == '5':  # se escolher a operacao de mudar os milisegundos
                    self.Name = input(
                        "\nInsira o Nome da Musica que pretende alterar os MiliSegundos: "
                    )
                    db.cursor.execute(
                        '''SELECT Name FROM tracks WHERE Name = ? ''',
                        (self.Name, ))
                    exists = db.cursor.fetchall()

                    if exists:  # se existir pode continuar
                        new_milliseconds = input(
                            " Insira o NOVO Tempo MiliSegundos: ")
                        db.cursor.execute(
                            '''UPDATE tracks SET Milliseconds = ? WHERE Name = ? ''',
                            (new_milliseconds, self.Name))
                        db.getcommit()
                        print("\nMiliSegundos alterado com sucesso!")
                        print("A Musica", self.Name,
                              "possui um novo Tempo MiliSegundos:",
                              new_milliseconds)

                    else:  # senao existir da erro
                        print("\nERRO! A Musica nao existe!")

                elif alt1 == '6':  # se escolher a operacao de mudar os bytes
                    self.Name = input(
                        "\nInsira o Nome da Musica que pretende alterar os Bytes: "
                    )
                    db.cursor.execute(
                        '''SELECT Name FROM tracks WHERE Name = ? ''',
                        (self.Name, ))
                    exists = db.cursor.fetchall()

                    if exists:  # se existir pode continuar
                        new_bytes = input("Insira o NOVO Tamanho Bytes: ")
                        db.cursor.execute(
                            '''UPDATE tracks SET Bytes = ? WHERE Name = ? ''',
                            (new_bytes, self.Name))
                        db.getcommit()
                        print("\nBytes alterado com sucesso!")
                        print(" A Musica", self.Name,
                              "possui um novo Tamanho Bytes:", new_bytes)

                    else:  # senao existir da erro
                        print("\nERRO! A Musica nao existe!")

                elif alt1 == '7':  # se escolher a operacao de mudar o preco unitario
                    self.Name = input(
                        "\nInsira o Nome da Musica que pretende alterar o Preco Unitario: "
                    )
                    db.cursor.execute(
                        '''SELECT Name FROM tracks WHERE Name = ? ''',
                        (self.Name, ))
                    exists = db.cursor.fetchall()

                    if exists:  # se existir pode continuar
                        new_unitprice = input("Insira o NOVO Preco Unitario: ")
                        db.cursor.execute(
                            '''UPDATE tracks SET UnitPrice = ? WHERE Name = ? ''',
                            (new_unitprice, self.Name))
                        db.getcommit()
                        print("\nPreco Unitario alterado com sucesso!")
                        print("A Musica", self.Name,
                              "possui um novo Preco Unitario:", new_unitprice)

                    else:  # senao existir da erro
                        print("\nERRO! A Musica nao existe!")

                else:  # caso escolha uma outro opcao da erro
                    print("\nEscolha uma opcao valida!")

        except sqlite3.IntegrityError:  # qualquer outro erro que possa acontecer
            print("\nERRO! Impossivel ALTERAR a Musica!")

        finally:
            db.closedb()
Exemplo n.º 9
0
    def inserir_musics(self):  # Funcao para inserir novas musicas
        db.__init__()
        print("\nEsta prestes a INSERIR dados na tabela 'Musicas'.")

        while True:  # ciclo while para pedir informacoes da musica ao utilizador
            try:
                self.Name = input("\nNome da Musica: ")
                self.AlbumId = int(input("ID do Album: "))
                self.MediaTypeId = int(input("ID MediaType: "))
                self.GenreId = int(input("ID do Genero: "))
                self.Composer = input(str("Compositor: "))
                self.Milliseconds = int(input("Milisegundos: "))
                self.Bytes = int(input("Bytes: "))
                self.UnitPrice = float(input("Preco Unidade: "))

                if self.Name == '' or self.Name == ' ':  # nome vazio da erro
                    print("\nERRO! INSIRA O NOME DA MUSICA!")
                    break

                elif self.MediaTypeId == '' or self.MediaTypeId == ' ':  # mediatype vazio da erro
                    print("\nERRO! INSIRA O MEDIA TYPE DA MUSICA!")
                    break

                elif self.Milliseconds == '' or self.Milliseconds == ' ':  # milisegundos vazio da erro
                    print("\nERRO! INSIRA O TEMPO MILISEGUNDOS DA MUSICA!")
                    break

                elif self.UnitPrice == '' or self.UnitPrice == ' ':  # preco unitario vazio da erro
                    print("\nERRO! INSIRA O PRECO UNITARIO DA MUSICA!")
                    break

            except ValueError as error:  # qualquer outro erro que possa acontecer
                print("\nErro de Parametro! Valor Inteiro/Decimal/Vazio!")
                print("Erro:", error)
                break

            else:  # continua senao houver erros nenhums
                try:
                    with db.connection:
                        db.__init__()
                        db.cursor.execute(
                            '''INSERT INTO tracks(Name, AlbumId, MediaTypeId, GenreId, Composer, Milliseconds, Bytes, UnitPrice) VALUES(?,?,?,?,?,?,?,?)''',
                            (self.Name, self.AlbumId, self.MediaTypeId,
                             self.GenreId, self.Composer, self.Milliseconds,
                             self.Bytes, self.UnitPrice))
                        db.getcommit()

                        print(
                            "\nDados inseridos com sucesso na tabela 'Musicas' da base de dados."
                        )
                        print("\nNome:", self.Name)
                        print("ID do Album:", self.AlbumId)
                        print("ID MediaType:", self.MediaTypeId)
                        print("ID Genero:", self.GenreId)
                        print("Compositor:", self.Composer)
                        print("Milisegundos:", self.Milliseconds)
                        print("Bytes:", self.Bytes)
                        print("Preco Unidade:", self.UnitPrice)

                except sqlite3.IntegrityError:  # qualquer outro erro que possa acontecer
                    print("\nERRO! Impossivel inserir Musica!")
                    print(sqlite3.IntegrityError())

                finally:
                    db.closedb()  # fecha a bd