Exemplo n.º 1
0
class DispositivoPorta():
    BD = BancoDeDados.getInstance()

    def __init__(self, MAC, idPorta, envia=None, recebe=None):
        self.dispositivo = Dispositivo(MAC=MAC)
        self.porta = Porta(id=idPorta)
        self.envia = envia
        self.recebe = recebe
        self.buscarDados()

    def buscarDados(self):
        try:
            cursor = self.BD.cursor()

            consulta = "select envia, recebe from dispositivos_portas where MAC = %(MAC) and id_porta = %(porta)"
            cursor.execute(consulta, {
                'MAC': self.dispositivo.MAC,
                'porta': self.porta.id
            })
            dados = cursor.fetchone()

            self.envia, self.porta = dados
        except ValueError as e:
            print "<< classe", __name__, ">>", e
        finally:
            cursor.close()
Exemplo n.º 2
0
class Responsavel():
    BD = BancoDeDados.getInstance()

    def __init__(self, CPF, RG=None, nome=None):
        self.CPF = CPF
        self.RG = RG
        self.nome = nome
        self.buscarDados()

    def buscarDados(self):
        try:
            cursor = self.BD.cursor()

            consulta = "select RG, nome_responsavel from responsaveis where CPF= %(CPF)s"
            parametros = {'CPF': self.CPF}

            cursor.execute(consulta, parametros)

            dadosResponsavel = cursor.fetchone(
            )  # fetchone retorna a próxima linha da consulta

            self.RG, self.nome = dadosResponsavel
        except TypeError as e:
            print "<< classe", __name__, ">>", e
        finally:
            cursor.close()

        return self
Exemplo n.º 3
0
class Neonato():
    BD = BancoDeDados.getInstance()

    def __init__(self,
                 idNeonato,
                 CPFresponsavel,
                 nome=None,
                 dataNascimento=None):
        self.id = idNeonato
        self.resposavel = Responsavel(CPF=CPFresponsavel)
        self.nome = nome
        self.dataNascimento = dataNascimento
        self.buscarDados()

    def buscarDados(self):
        try:
            cursor = self.BD.cursor()

            consulta = "select nome_neonato, data_nascimento from neonatos where id_neonato = %(idNeonato)s and CPF = %(CPF)s"
            cursor.execute(consulta, {
                'idNeonato': self.id,
                'CPF': self.resposavel.CPF
            })

            dadosNeonato = cursor.fetchone()

            self.nome, self.dataNascimento = dadosNeonato
        except TypeError as e:
            print "<< classe", __name__, ">>", e
        finally:
            cursor.close()
Exemplo n.º 4
0
class Dispositivo:
    BD = BancoDeDados.getInstance()

    def __init__(self, MAC, nome=None, descricao=None, ip_dispositivo=None):
        self.MAC = MAC
        self.nome = nome
        self.descricao = descricao,
        self.ip = ip_dispositivo
        self.portas = []
        self.buscarDados()

    def buscarDados(self):
        try:
            cursor = self.BD.cursor()

            try:
                consulta = "select nome_dispositivo, ip_dispositivo from dispositivos d natural join incubadoras_dispositivos i where mac= %(MAC)s and data_remocao is null order by data_conexao desc"
                cursor.execute(consulta, {'MAC': self.MAC})
                dados = cursor.fetchone()
                self.nome, self.ip = dados
            except TypeError as e:
                print "<< classe", __name__, ">>", "Esse dispositivo não está cadastrado e/ou dispositivo nao esta conectado em nenhuma incubadora.", e
            except ValueError as e:
                print "<< classe", __name__, ">>", e
            except Error as e:
                print "<< classe", __name__, ">>", e

        finally:
            cursor.close()

    def buscarMinhasPortas(self):
        cursor = self.BD.cursor(buffered=True)

        consulta = "select id_porta from portas WHERE mac = %(MAC)s"
        cursor.execute(consulta, {'MAC': self.MAC})
        dados = cursor.fetchall()

        for id in dados:
            if self.dispositivos.count(id[0]) == 0:
                self.dispositivos.append(Porta(id=id[0]))

        cursor.close()

    def buscarIncubadoraAtual(self):
        try:
            cursor = self.BD.cursor()

            consulta = "select id_incubadora from incubadoras_dispositivos where mac= %(MAC)s and data_remocao is null order by data_conexao desc"
            cursor.execute(consulta, {'MAC': self.MAC})
            idIncubadora = cursor.fetchone()
        except TypeError as e:
            print "<< classe", __name__, ">>", e
        finally:
            cursor.close()
        return idIncubadora[0]
Exemplo n.º 5
0
 def __init__(self, iface):
     'construtor'
     self.inicializarVariaveis()
     self.definirBancoDeDados(BancoDeDados())
     self.definirGeradorDeRegras(
         GeradorDeRegras(iface, self.obterBancoDeDados()))
     self.definirIface(iface)
     self.definirSettings(QSettings())
     self.iface.mapCanvas().keyPressed.connect(self.rodarAtalho)
     self.iface.actionToggleEditing().triggered.connect(self.definirSnap)
     self.limparAtalhos()
Exemplo n.º 6
0
class Incubadora():
    BD = BancoDeDados.getInstance()

    def __init__(self, id, nome=None, data_entrada=None):
        self.id = id
        self.nome = nome
        self.data_entrada = data_entrada
        self.dispositivos = []
        self.neonato = None
        self.buscarDados()

    def buscarDados(self):
        cursor = self.BD.cursor(buffered=True)
        try:
            consulta = "select I.nome_incubadora, NI.idNeonato from incubadoras I join neonatos_incubadoras NI  on I.id_incubadora = NI.id_incubadora where I.id_incubadora = %(id_incubadora)s and NI.data_saida is null order by NI.data_entrada desc"
            cursor.execute(consulta, {'id_incubadora': self.id})
            dados = cursor.fetchone()

            self.nome, idNeonato = dados
            consulta = "select CPF from neonatos where id_neonato = %(id)s"
            cursor.execute(consulta, {'id': idNeonato})
            cpf, = cursor.fetchone()

            self.neonato = Neonato(idNeonato=idNeonato, CPFresponsavel=cpf)

        except TypeError as e:
            print "<< classe", __name__, ">>", e
        finally:
            if cursor != None:
                cursor.close()

    def buscarDispositivos(self):
        cursor = self.BD.cursor(buffered=True)

        consulta = "select MAC, data_entrada from incubadoras_dispositivos where id_incubadora = %(id)s and data_saida is null order by data_entrada desc"
        cursor.execute(consulta, {'id': self.id})
        dados = cursor.fetchall()

        for dado in dados:
            if self.dispositivos.count(dado[0]) == 0:
                self.dispositivos.append(Dispositivo(MAC=dado[0], dataEntradaIncubadora=dado[1]))

        cursor.close()
Exemplo n.º 7
0
class ClienteSocket():
    BD = BancoDeDados.getInstance()
    def __init__(self, host, port):
        self.host = host
        self.port = port
        self.socketReceber = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.socketReceber.bind(("",port))
        self.mensagemDeErroJaExibida = False

    def receber(self, ipEscritor):
        data, addr = self.socketReceber.recvfrom(2000)
        try:
            if ipEscritor == addr[0]:
                return data
            elif not self.mensagemDeErroJaExibida:
                self.mensagemDeErroJaExibida = True
                raise ImportError("ip Escritor é diferente do cadastrado")
        except ImportError as e:
            print "<< classe", __name__, ">>", e
        return None

    def test_Socket(self):
        while True:
            print self.receber("10.0.122.26")
Exemplo n.º 8
0
class Porta:
    BD = BancoDeDados.getInstance()

    def __init__(self, id, numero=None, descricao=None):
        self.id = id
        self.numero = numero
        self.descricao = descricao
        self.dispositivos = []
        self.buscarDados()

    def buscarDados(self):
        cursor = self.BD.cursor()

        consulta = "select num_porta, desc_sinal from portas where id_porta = %(id)s"
        cursor.execute(consulta, {'id': self.id})
        dados = cursor.fetchone()

        try:
            self.numero, self.descricao = dados
        except ValueError as e:
            print "<< classe", __name__, ">>", e
        finally:
            cursor.close()

    def getNumero(self, descricao):
        cursor = self.BD.cursor()

        consulta = "select num_porta from portas where desc_sinal = %(desc)s"
        cursor.execute(consulta, {'desc', descricao})

        try:
            return cursor.fetchone()[0]
        except ValueError as e:
            print "<< classe", __name__, ">>", e
        finally:
            cursor.close()
Exemplo n.º 9
0
 def __init__(self, host, porta):
     QtCore.QThread.__init__(self)
     self.BD = BancoDeDados.getInstance()
     self.host = host
     self.porta = porta
     self.ipServidor = self.getIpServidor()