def statusMonitoramento(evento, janela): """ Modifica o estado do monitoramento do servidor. """ cliente = Cliente() if cliente.conectaServidor(): # Obtem o estado do monitoramento. cliente.enviarMensagem(settings.STATUS) resposta = cliente.receberMensagem(settings.TAM_MSN) # Verifica se o estado do monitoramento e de pausado. if resposta == settings.PAUSADO: cliente.conectaServidor() cliente.enviarMensagem(settings.INICIAR) janela.status_bar.push(janela.context_id, ' Monitoramento Iniciado') cliente.fecharConexao() janela.botaoIniciar.set_stock_id(Gtk.STOCK_MEDIA_PAUSE) janela.botaoIniciar.set_label('Pausar') # Verifica se o estado do monitoramento e de executando. elif resposta == settings.EXECUTANDO: cliente.conectaServidor() cliente.enviarMensagem(settings.PAUSAR) janela.status_bar.push(janela.context_id, ' Monitoramento Pausado') cliente.fecharConexao() janela.botaoIniciar.set_stock_id(Gtk.STOCK_MEDIA_PLAY) janela.botaoIniciar.set_label('Iniciar ') else: cliente.fecharConexao() dialogoErro( janela, 'Erro ao Estabelecer Conexao.', 'Nao Foi Possivel Modificar o Estado do Monitoramento.\t\t\nO Servidor Esta Desligado.' )
def statusMonitoramento(evento, janela): """ Modifica o estado do monitoramento do servidor. """ cliente = Cliente() if cliente.conectaServidor(): # Obtem o estado do monitoramento. cliente.enviarMensagem(settings.STATUS) resposta = cliente.receberMensagem(settings.TAM_MSN) # Verifica se o estado do monitoramento e de pausado. if resposta == settings.PAUSADO: cliente.conectaServidor() cliente.enviarMensagem(settings.INICIAR) janela.status_bar.push(janela.context_id, ' Monitoramento Iniciado') cliente.fecharConexao() janela.botaoIniciar.set_stock_id(Gtk.STOCK_MEDIA_PAUSE) janela.botaoIniciar.set_label('Pausar') # Verifica se o estado do monitoramento e de executando. elif resposta == settings.EXECUTANDO: cliente.conectaServidor() cliente.enviarMensagem(settings.PAUSAR) janela.status_bar.push(janela.context_id, ' Monitoramento Pausado') cliente.fecharConexao() janela.botaoIniciar.set_stock_id(Gtk.STOCK_MEDIA_PLAY) janela.botaoIniciar.set_label('Iniciar ') else: cliente.fecharConexao() dialogoErro(janela, 'Erro ao Estabelecer Conexao.', 'Nao Foi Possivel Modificar o Estado do Monitoramento.\t\t\nO Servidor Esta Desligado.')
def obterImagemMonitoramento(evento, janela): """ Envia uma mensagem ao servidor para obter uma imagem do monitoramento. """ cliente = Cliente() # Verifica se o servidor esta ligado. if cliente.conectaServidor(): cliente.enviarMensagem(settings.IMAGEM) endereco = '../imagens/temp2.jpg' arquivo = open(endereco, 'wb') while True: dados = cliente.receberMensagem(512) if not dados: break arquivo.write(dados) cliente.fecharConexao() arquivo.close() janela.webCam.set_from_file(endereco) janela.botaoSalvarImagem.set_sensitive(True) janela.botaoLimparImagem.set_sensitive(True) else: cliente.fecharConexao() dialogoErro( janela, 'Erro ao Estabelecer Conexao.', 'Nao Foi Possivel Modificar o Estado do Monitoramento.\t\t\nO Servidor Esta Desligado.' )
def logarMonitoramento(evento, janela): """ Envia uma mensagem ao servidor para logar no monitoramento. """ cliente = Cliente() # Verifica se o servidor esta ligado. if cliente.conectaServidor(): cliente.enviarMensagem(settings.LOGAR) email = janela.entryEmail.get_text() senha = janela.entrySenha.get_text() if len(email) < 10 or len(senha) < 5: dialogoErro( janela, 'Erro ao Realizar o Login.', 'Nao Foi Possivel Realizar o Login. Email e/ou senha incorretos.\t' ) else: login = '******'.format(email, senha) cliente.enviarMensagem(login) if cliente.receberMensagem(settings.TAM_MSN) == settings.OK_200: janela.destroy() JanelaCliente() else: dialogoErro( janela, 'Erro ao Realizar o Login.', 'Nao Foi Possivel Realizar o Login. Email e/ou senha incorretos.\t' ) cliente.fecharConexao() else: cliente.fecharConexao() dialogoErro( janela, 'Erro ao Estabelecer Conexao.', 'Nao Foi Possivel Realizar o Login. O Servidor Esta Desligado.\t')
def obterImagemMonitoramento(evento, janela): """ Envia uma mensagem ao servidor para obter uma imagem do monitoramento. """ cliente = Cliente() # Verifica se o servidor esta ligado. if cliente.conectaServidor(): cliente.enviarMensagem(settings.IMAGEM) if cliente.receberMensagem(settings.TAM_MSN) == settings.OK_200: endereco = '../imagens/temp2.jpg' arquivo = open(endereco, 'wb') while True: dados = cliente.receberMensagem(512) if not dados: break arquivo.write(dados) cliente.fecharConexao() arquivo.close() janela.webCam.set_from_file(endereco) janela.botaoSalvarImagem.set_sensitive(True) janela.botaoLimparImagem.set_sensitive(True) else: cliente.fecharConexao() dialogoErro(janela, 'Erro ao Estabelecer Conexao.', 'Nao Foi Possivel Modificar o Estado do Monitoramento.\t\t\nO Servidor Esta Desligado.')
def logarMonitoramento(evento, janela): """ Envia uma mensagem ao servidor para logar no monitoramento. """ cliente = Cliente() # Verifica se o servidor esta ligado. if cliente.conectaServidor(): cliente.enviarMensagem(settings.LOGAR) if cliente.receberMensagem(settings.TAM_MSN) == settings.OK_200: email = janela.entryEmail.get_text() senha = janela.entrySenha.get_text() if len(email) < 10 or len(senha) < 5: dialogoErro(janela, 'Erro ao Realizar o Login.', 'Nao Foi Possivel Realizar o Login. Email e/ou senha incorretos.\t') else: login = '******'.format(email, senha) login = bz2.compress(login) cliente.enviarMensagem(login) if cliente.receberMensagem(settings.TAM_MSN) == settings.OK_200: janela.destroy() JanelaCliente() else: dialogoErro(janela, 'Erro ao Realizar o Login.', 'Nao Foi Possivel Realizar o Login. Email e/ou senha incorretos.\t') cliente.fecharConexao() else: cliente.fecharConexao() dialogoErro(janela, 'Erro ao Estabelecer Conexao.', 'Nao Foi Possivel Realizar o Login. O Servidor Esta Desligado.\t')
def __init__(self): from handler import limparImagemMonitoramento, statusMonitoramento, obterImagemMonitoramento, salvarImagemMonitoramento super(JanelaCliente, self).__init__() # Criando os elementos. self.layout = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=0) self.painelCentro = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=0) self.webCam = Gtk.Image() self.webCam.set_from_file('../imagens/default.jpg') self.set_icon_from_file("../imagens/logo2.png") self.status_bar = Gtk.Statusbar() self.context_id = self.status_bar.get_context_id('status') self.toolbar = CustomToolbar() self.toolbar.set_hexpand(True) self.botaoIniciar = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_PLAY) self.botaoObterImagem = Gtk.ToolButton(stock_id=Gtk.STOCK_GO_DOWN) self.botaoSalvarImagem = Gtk.ToolButton(stock_id=Gtk.STOCK_SAVE) self.botaoLimparImagem = Gtk.ToolButton(stock_id=Gtk.STOCK_CLEAR) self.botaoSair = Gtk.ToolButton(stock_id=Gtk.STOCK_QUIT) # Modificando as configuracoes dos elementos. self.botaoIniciar.set_label('Iniciar ') self.botaoObterImagem.set_label('Imagem Atual') self.botaoSalvarImagem.set_label('Salvar Imagem') self.botaoLimparImagem.set_label('Limpar Tela') self.botaoIniciar.set_is_important(True) self.botaoObterImagem.set_is_important(True) self.botaoSalvarImagem.set_is_important(True) self.botaoLimparImagem.set_is_important(True) self.botaoSair.set_is_important(True) self.botaoSalvarImagem.set_sensitive(False) self.botaoLimparImagem.set_sensitive(False) # Adicionando os elementos. self.toolbar.insert(self.botaoIniciar, 0) self.toolbar.insert(self.botaoObterImagem, 1) self.toolbar.insert(self.botaoSalvarImagem, 2) self.toolbar.insert(self.botaoLimparImagem, 3) self.toolbar.insert(Gtk.SeparatorToolItem(), 4) self.toolbar.insert(self.botaoSair, 5) self.painelCentro.pack_start(self.webCam, False, False, 0) self.layout.pack_start(self.toolbar, False, False, 0) self.layout.pack_start(self.painelCentro, False, False, 0) self.layout.pack_end(self.status_bar, False, True, 0) self.add(self.layout) # Adicionando os eventos. self.botaoIniciar.connect('clicked', statusMonitoramento, self) self.botaoObterImagem.connect('clicked', obterImagemMonitoramento, self) self.botaoSalvarImagem.connect('clicked', salvarImagemMonitoramento, self) self.botaoLimparImagem.connect('clicked', limparImagemMonitoramento, self) self.botaoSair.connect('clicked', Gtk.main_quit) # Configurando a janela. self.connect('delete_event', Gtk.main_quit) self.set_size_request(640, 540) self.set_resizable(False) self.set_position(Gtk.WindowPosition.CENTER) self.set_title('SEMON - Sensor de Monitoramento de Salas de Servidores') self.show_all() cliente = Cliente() if cliente.conectaServidor(): cliente.enviarMensagem(settings.STATUS) # Obtem o estado do monitoramento. if cliente.receberMensagem(settings.TAM_MSN) == settings.OK_200: resposta = cliente.receberMensagem(settings.TAM_MSN) self.botaoObterImagem.set_sensitive(True) if resposta == settings.EXECUTANDO: self.status_bar.push(self.context_id, ' Monitoramento Iniciado') self.botaoIniciar.set_stock_id(Gtk.STOCK_MEDIA_PAUSE) self.botaoIniciar.set_label('Pausar') elif resposta == settings.PAUSADO: self.status_bar.push(self.context_id, ' Monitoramento Pausado') else: self.botaoObterImagem.set_sensitive(False) self.status_bar.push(self.context_id, ' Monitoramento Desligado')