Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- encoding:utf-8 -*-
- import sys
- import os.path
- import fdb
- import shutil
- import urllib2
- import os
- import json
- import time
- from datetime import datetime
- from PyQt4 import QtGui, QtCore
- from configuracao import Ui_configuracao
- from terminal import Ui_Terminal
- from PyQt4.QtCore import *
- from PyQt4.QtGui import *
- try:
- _fromUtf8 = QtCore.QString.fromUtf8
- except AttributeError:
- def _fromUtf8(s):
- return s
- class Terminal(QtGui.QMainWindow):
- def __init__(self):
- QtGui.QMainWindow.__init__(self)
- self.ui = Ui_Terminal()
- self.ui.setupUi(self)
- self.ui.pushButton.clicked.connect(self.abrirConfig)
- self.ui.pushButton_2.clicked.connect(self.tt)
- def tt(self):
- if(os.path.isfile('configuracao.txt')):
- f = open("configuracao.txt");
- ler = f.readlines()
- self.ApiKey = ler[0].replace('\n','')
- self.ApiUrl = ler[1].replace('\n','')
- self.CaminhoBD = ler[2].replace('\n','')
- self.PastaTemp = ler[4].replace('\n','')
- self.NomeBD = ler[3].replace('\n','')
- if(os.path.isfile(self.CaminhoBD+'/'+self.NomeBD)):
- if(os.path.isfile(self.PastaTemp+'/'+self.NomeBD)):
- os.remove(self.PastaTemp+'/'+self.NomeBD)
- self.ui.terminalText.setText("Copiando BD")
- try:
- shutil.copy(self.CaminhoBD+'/'+self.NomeBD,self.PastaTemp)
- self.ui.terminalText.setText(self.ui.terminalText.text()+"\n"+_fromUtf8(("Copia Finalizada")))
- except:
- self.ui.terminalText.setText(_fromUtf8("Erro ao copiar banco de dados"))
- self.ui.terminalText.setText(self.ui.terminalText.text()+"\n"+_fromUtf8(("Conexão com BD")))
- self.con = fdb.connect(dsn=self.PastaTemp+'/'+self.NomeBD, user='sysdba', password='masterkey')
- self.cur = self.con.cursor()
- self.ui.terminalText.setText(self.ui.terminalText.text()+"\n"+_fromUtf8(("Conexão Feita")))
- self.atualizar()
- else:
- self.ui.terminalText.setText(_fromUtf8("Banco de dados não existe"))
- else:
- self.ui.terminalText.setText(_fromUtf8("As configurações ainda não foram feitas, por favor faze-las"))
- def atualizar(self,continuar = None):
- now = datetime.now()
- if(os.path.isfile('primeiro.txt')):
- data = str(now.day)+'.'+str(now.month)+'.'+str(now.year)
- if(continuar == None):
- self.cur.execute("select codprod,dt_movimento FROM mvgeral WHERE dt_movimento >= '"+data+"' ORDER BY codprod ASC")
- else:
- self.cur.execute("select codprod,dt_movimento FROM mvgeral WHERE codprod >= '"+continuar+"' and dt_movimento >= '"+data+"' ORDER BY codprod ASC")
- todos = self.cur.fetchall()
- x = 0;
- lista = []
- for item in todos:
- if(item[0] not in lista):
- if(x == 0):
- self.ui.terminalText.setPlainText("")
- self.cur.execute("SELECT codprod,estoque FROM compprod WHERE codprod = '"+item[0]+"'")
- i = self.cur.fetchall()
- self.cur.execute("select codprod,descricao FROM produto WHERE codprod = '"+item[0]+"'")
- i2 = self.cur.fetchall()
- nome = i2[0][1]
- nome = nome.replace(" ","+")
- nome = nome.replace("/","")
- nome = nome.replace("?","")
- nome = nome.replace("%","porcent")
- if(nome != '' and item[0] is not None and len(i)> 0):
- self.ui.terminalText.setText(self.ui.terminalText.text()+"\n"+_fromUtf8(("Atualizando "+str(item[0])+" - "+str(i2[0][1]))))
- try:
- ur = urllib2.urlopen(self.ApiUrl+'api/'+str(self.ApiKey)+'/'+str(item[0])+'/'+str(nome)+'/'+str(i[0][1])+'/UN/S').read()
- lista.append(item[0])
- except:
- self.atualizar(item[0])
- if(x < 20):
- x = x+1
- else:
- x = 0
- os.remove(self.PastaTemp+'/'+self.NomeBD)
- self.ui.terminalText.setText(self.ui.terminalText.text()+"\n"+_fromUtf8(("Atualizacão Realizada com sucesso")))
- else:
- if(continuar == None):
- self.cur.execute("select codprod,descricao FROM produto ORDER BY codprod ASC")
- else:
- self.cur.execute("select codprod,descricao FROM produto WHERE codprod >= "+continuar+" ORDER BY codprod ASC")
- todos = self.cur.fetchall()
- x = 0
- for item in todos:
- if(x == 0):
- self.ui.terminalText.setText('')
- self.cur.execute("select codprod,estoque FROM compprod WHERE codprod = '"+item[0]+"'")
- i = self.cur.fetchall()
- nome = item[1]
- self.ui.terminalText.setText(item[0])
- if(nome != '' and item[0] is not None and len(i)> 0):
- nome = nome.replace(" ","+")
- nome = nome.replace("/","")
- nome = nome.replace("?","")
- nome = nome.replace("%","porcent")
- self.ui.terminalText.setText(self.ui.terminalText.text()+"\n"+_fromUtf8(("Atualizando "+str(item[0])+" - "+str(item[1]))))
- try:
- ur = urllib2.urlopen(self.ApiUrl+'api/'+str(self.ApiKey)+'/'+str(item[0])+'/'+str(nome)+'/'+str(i[0][1])+'/UN/S').read()
- except:
- self.atualizar(item[0])
- if(x < 20):
- x = x+1
- else:
- x = 0
- arq = open('primeiro.txt','w')
- arq.write("true")
- arq.close()
- os.remove(self.PastaTemp+'/'+self.NomeBD)
- os.system('cls' if os.name == 'nt' else 'clear')
- self.ui.terminalText.setText(_fromUtf8(("Atualização Realizada com sucesso")))
- self.ui.terminalText.setText(self.ui.terminalText.text()+"\n"+_fromUtf8(("Proxima atualização em 2 horas")))
- time.sleep(7200)
- self.atualizar()
- def abrirConfig(self):
- programa=ConfiguracaoTela()
- programa.show()
- programa.exec_()
- class ConfiguracaoTela(QtGui.QMainWindow):
- def __init__(self, parent=None):
- super(ConfiguracaoTela, self).__init__(parent)
- self.ui = Ui_configuracao()
- self.ui.setupUi(self)
- if(os.path.isfile('configuracao.txt')):
- f = open("configuracao.txt")
- ler = f.readlines()
- if(len(ler) == 5):
- self.ui.apikey.setText(ler[0].replace('\n',''))
- self.ui.apiurl.setText(ler[1].replace('\n',''))
- self.ui.caminhobd.setText(ler[2].replace('\n',''))
- self.ui.nomebd.setText(ler[3].replace('\n',''))
- self.ui.pastatemp.setText(ler[4].replace('\n',''))
- self.ui.pushButton.clicked.connect(self.salvarForm)
- def salvarForm(self):
- self.ui.labelmsg.setStyleSheet(_fromUtf8("background:#f0ad4e;\n"
- "padding:5px;\n"
- "color:#fff;\n"
- "width:100%;\n"
- "text-align:center;"))
- self.ui.labelmsg.setText(_fromUtf8("Aguarde, salvando arquivo"))
- texto = self.ui.apikey.text()+'\n'+self.ui.apiurl.text()+'\n'+self.ui.caminhobd.text()+'\n'+self.ui.nomebd.text()+'\n'+self.ui.pastatemp.text();
- arq = open("configuracao.txt", "w")
- arq.write(texto)
- arq.close()
- self.ui.labelmsg.setStyleSheet(_fromUtf8("background:#5cb85c;\n"
- "padding:5px;\n"
- "color:#fff;\n"
- "width:100%;\n"
- "text-align:center;"))
- self.ui.labelmsg.setText(_fromUtf8("Configuração salva com sucesso"))
- app = QtGui.QApplication(sys.argv)
- app.setApplicationName('terminal')
- programa=Terminal()
- programa.show()
- sys.exit(app.exec_())
- """
- app = QtGui.QApplication(sys.argv)
- app.setApplicationName('configuracao')
- programa=ConfiguracaoTela()
- programa.show()
- sys.exit(app.exec_())
- """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement