#importando o banco de dados "MySQLdb"
import MySQLdb

#importanta da pasta "Aula042" e do arqivo"estado_model" a classe"EstadoModel"
from Aula042.estado_model import EstadoModel
#Criando a classe dao aonde ira conter os métodos
class EstadoDao:
    # iniciando com  o construtar (__init__) ele é usado para inicializar o objeto para poder se criado a instancia
    def __init__(self):
        # criando a conexao com bd
        self.connection = MySQLdb.connect(host='mysql.topskills.dev', database='topskills01', user='topskills01', passwd='ts2019' )
        # definindo o cursor da conexao
        self.cursor =  self.connection.cursor()

    # Criando método para listar todos da lista,do banco de dados
    def listar_todos(self):
        self.cursor.execute("SELECT * FROM topskills01.ESTADOS")
        # o comando fetchall pega vários itens contidos na lista
        estados = self.cursor.fetchall()
        # declarando lista vazia para receber os dados
        lista_estados = []
        # criando for e ,passando todos os valores contidos na variavél "estados" para a nova variavél ( e )
        for e in estados:
            # criando uma variavél "estado" aonde recebe a classe "EstadoModel"
            estado = EstadoModel(e[1], e[2], e[3], e[0])
            # adicionando na lista "lista_estados" através do metodo "append",os valores que estão contidos em "estados"
            lista_estados.append(estado.__dict__) # adicionando na lista "lista_estados" através do metodo "append",os valores que estão contidos em "estados"
        # retornando para  a lista "lista_estados"
        return lista_estados

        # criando método "buscar_por_id", o parametro "self" faz a ligação, o id vem do arquivo estado_model
    def buscar_por_id(self, id):
        # passando o "self.cursor"para fazer a conexao" eo "execute"para executar o comando anterior
        self.cursor.execute("SELECT * FROM topskills01.ESTADOS WHERE ID = {}".format(id))
        # criando uma variavél "estado" que equivale ao "self.cursor" que fera o fetchone=buscar um
        estado = self.cursor.fetchone()
        # criando a variavél "e" para poder receber,os valores do EstadoModel, e buscar eles por posição
        e = EstadoModel(estado[1], estado[2], estado[3], estado[0])
        # usand o return para retormar para o "e" em forma de dicionário através do __dict__ que é um método do python que transfroma o valor em dicionário
        return e.__dict__

    # criando método inserir.
    def inserir(self):
        # pagando a varivél "estado"que contém os dados do bd, e adicioando ,através do comando INSERT... por parametro por ex:regiao populaca
        self.cursor.execute("""INSERT INTO topskills01.ESTADOS    
                            (regiao, estado, populacao)
                            VALUES('{}', '{}', '{}')""".format(estado.regiao, estado.estado, estado.populacao))

    # Criando método para atualizar,passando o "EstadoModel" para trazer os parametros para se completar o código
    def atualizar(self, estado: EstadoModel):
        self.cursor.execute(""" UPDATE topskill01.ESTADOS 
                         SET
                             regiao
                             estado
                            populacao
                        WHERE ID = {}""".format(pessoa.nome, pessoa.sobrenome, pessoa.idade, pessoa.id))
        # passnado a conexao e salvando a atualização através commit
        self.connection.commit()
        # passavdo os dados para dicionário através do "__dict__"
        return estado.__dict__

        # criando méto delete para apagar
    def delete(self):
        self.cursor.execute(""" DELETE FROM topskills01.ESTADOS WHERE ID = {}""".format(id) #passando comando do que e quero apagar
                     )
2058c7be0beaf36be5659a90d70de6ccec39ab7c
<mask token>


class EstadoDao:
    <mask token>

    def listar_todos(self):
        self.cursor.execute('SELECT * FROM topskills01.ESTADOS')
        estados = self.cursor.fetchall()
        lista_estados = []
        for e in estados:
            estado = EstadoModel(e[1], e[2], e[3], e[0])
            lista_estados.append(estado.__dict__)
        return lista_estados
    <mask token>

    def inserir(self):
        self.cursor.execute(
            """INSERT INTO topskills01.ESTADOS    
                            (regiao, estado, populacao)
                            VALUES('{}', '{}', '{}')"""
            .format(estado.regiao, estado.estado, estado.populacao))
    <mask token>
    <mask token>

<mask token>


class EstadoDao:

    def __init__(self):
        self.connection = MySQLdb.connect(host='mysql.topskills.dev',
            database='topskills01', user='topskills01', passwd='ts2019')
        self.cursor = self.connection.cursor()

    def listar_todos(self):
        self.cursor.execute('SELECT * FROM topskills01.ESTADOS')
        estados = self.cursor.fetchall()
        lista_estados = []
        for e in estados:
            estado = EstadoModel(e[1], e[2], e[3], e[0])
            lista_estados.append(estado.__dict__)
        return lista_estados

    def buscar_por_id(self, id):
        self.cursor.execute('SELECT * FROM topskills01.ESTADOS WHERE ID = {}'
            .format(id))
        estado = self.cursor.fetchone()
        e = EstadoModel(estado[1], estado[2], estado[3], estado[0])
        return e.__dict__

    def inserir(self):
        self.cursor.execute(
            """INSERT INTO topskills01.ESTADOS    
                            (regiao, estado, populacao)
                            VALUES('{}', '{}', '{}')"""
            .format(estado.regiao, estado.estado, estado.populacao))
    <mask token>

    def delete(self):
        self.cursor.execute(' DELETE FROM topskills01.ESTADOS WHERE ID = {}'
            .format(id))

<mask token>


class EstadoDao:

    def __init__(self):
        self.connection = MySQLdb.connect(host='mysql.topskills.dev',
            database='topskills01', user='topskills01', passwd='ts2019')
        self.cursor = self.connection.cursor()

    def listar_todos(self):
        self.cursor.execute('SELECT * FROM topskills01.ESTADOS')
        estados = self.cursor.fetchall()
        lista_estados = []
        for e in estados:
            estado = EstadoModel(e[1], e[2], e[3], e[0])
            lista_estados.append(estado.__dict__)
        return lista_estados

    def buscar_por_id(self, id):
        self.cursor.execute('SELECT * FROM topskills01.ESTADOS WHERE ID = {}'
            .format(id))
        estado = self.cursor.fetchone()
        e = EstadoModel(estado[1], estado[2], estado[3], estado[0])
        return e.__dict__

    def inserir(self):
        self.cursor.execute(
            """INSERT INTO topskills01.ESTADOS    
                            (regiao, estado, populacao)
                            VALUES('{}', '{}', '{}')"""
            .format(estado.regiao, estado.estado, estado.populacao))

    def atualizar(self, estado: EstadoModel):
        self.cursor.execute(
            """ UPDATE topskill01.ESTADOS 
                         SET
                             regiao
                             estado
                            populacao
                        WHERE ID = {}"""
            .format(pessoa.nome, pessoa.sobrenome, pessoa.idade, pessoa.id))
        self.connection.commit()
        return estado.__dict__

    def delete(self):
        self.cursor.execute(' DELETE FROM topskills01.ESTADOS WHERE ID = {}'
            .format(id))

import MySQLdb
from Aula042.estado_model import EstadoModel


class EstadoDao:

    def __init__(self):
        self.connection = MySQLdb.connect(host='mysql.topskills.dev',
            database='topskills01', user='topskills01', passwd='ts2019')
        self.cursor = self.connection.cursor()

    def listar_todos(self):
        self.cursor.execute('SELECT * FROM topskills01.ESTADOS')
        estados = self.cursor.fetchall()
        lista_estados = []
        for e in estados:
            estado = EstadoModel(e[1], e[2], e[3], e[0])
            lista_estados.append(estado.__dict__)
        return lista_estados

    def buscar_por_id(self, id):
        self.cursor.execute('SELECT * FROM topskills01.ESTADOS WHERE ID = {}'
            .format(id))
        estado = self.cursor.fetchone()
        e = EstadoModel(estado[1], estado[2], estado[3], estado[0])
        return e.__dict__

    def inserir(self):
        self.cursor.execute(
            """INSERT INTO topskills01.ESTADOS    
                            (regiao, estado, populacao)
                            VALUES('{}', '{}', '{}')"""
            .format(estado.regiao, estado.estado, estado.populacao))

    def atualizar(self, estado: EstadoModel):
        self.cursor.execute(
            """ UPDATE topskill01.ESTADOS 
                         SET
                             regiao
                             estado
                            populacao
                        WHERE ID = {}"""
            .format(pessoa.nome, pessoa.sobrenome, pessoa.idade, pessoa.id))
        self.connection.commit()
        return estado.__dict__

    def delete(self):
        self.cursor.execute(' DELETE FROM topskills01.ESTADOS WHERE ID = {}'
            .format(id))

#importando o banco de dados "MySQLdb"
import MySQLdb

#importanta da pasta "Aula042" e do arqivo"estado_model" a classe"EstadoModel"
from Aula042.estado_model import EstadoModel
#Criando a classe dao aonde ira conter os métodos
class EstadoDao:
    # iniciando com  o construtar (__init__) ele é usado para inicializar o objeto para poder se criado a instancia
    def __init__(self):
        # criando a conexao com bd
        self.connection = MySQLdb.connect(host='mysql.topskills.dev', database='topskills01', user='topskills01', passwd='ts2019' )
        # definindo o cursor da conexao
        self.cursor =  self.connection.cursor()

    # Criando método para listar todos da lista,do banco de dados
    def listar_todos(self):
        self.cursor.execute("SELECT * FROM topskills01.ESTADOS")
        # o comando fetchall pega vários itens contidos na lista
        estados = self.cursor.fetchall()
        # declarando lista vazia para receber os dados
        lista_estados = []
        # criando for e ,passando todos os valores contidos na variavél "estados" para a nova variavél ( e )
        for e in estados:
            # criando uma variavél "estado" aonde recebe a classe "EstadoModel"
            estado = EstadoModel(e[1], e[2], e[3], e[0])
            # adicionando na lista "lista_estados" através do metodo "append",os valores que estão contidos em "estados"
            lista_estados.append(estado.__dict__) # adicionando na lista "lista_estados" através do metodo "append",os valores que estão contidos em "estados"
        # retornando para  a lista "lista_estados"
        return lista_estados

        # criando método "buscar_por_id", o parametro "self" faz a ligação, o id vem do arquivo estado_model
    def buscar_por_id(self, id):
        # passando o "self.cursor"para fazer a conexao" eo "execute"para executar o comando anterior
        self.cursor.execute("SELECT * FROM topskills01.ESTADOS WHERE ID = {}".format(id))
        # criando uma variavél "estado" que equivale ao "self.cursor" que fera o fetchone=buscar um
        estado = self.cursor.fetchone()
        # criando a variavél "e" para poder receber,os valores do EstadoModel, e buscar eles por posição
        e = EstadoModel(estado[1], estado[2], estado[3], estado[0])
        # usand o return para retormar para o "e" em forma de dicionário através do __dict__ que é um método do python que transfroma o valor em dicionário
        return e.__dict__

    # criando método inserir.
    def inserir(self):
        # pagando a varivél "estado"que contém os dados do bd, e adicioando ,através do comando INSERT... por parametro por ex:regiao populaca
        self.cursor.execute("""INSERT INTO topskills01.ESTADOS    
                            (regiao, estado, populacao)
                            VALUES('{}', '{}', '{}')""".format(estado.regiao, estado.estado, estado.populacao))

    # Criando método para atualizar,passando o "EstadoModel" para trazer os parametros para se completar o código
    def atualizar(self, estado: EstadoModel):
        self.cursor.execute(""" UPDATE topskill01.ESTADOS 
                         SET
                             regiao
                             estado
                            populacao
                        WHERE ID = {}""".format(pessoa.nome, pessoa.sobrenome, pessoa.idade, pessoa.id))
        # passnado a conexao e salvando a atualização através commit
        self.connection.commit()
        # passavdo os dados para dicionário através do "__dict__"
        return estado.__dict__

        # criando méto delete para apagar
    def delete(self):
        self.cursor.execute(""" DELETE FROM topskills01.ESTADOS WHERE ID = {}""".format(id) #passando comando do que e quero apagar
                     )