#universalsite.org import sys import webbrowser import random from PyQt4 import QtGui from PyQt4 import QtCore class window(QtGui.QMainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) self.setGeometry(300, 250, 520, 270) self.setWindowTitle('Tool auto aggiornante per Ogame') self.setWindowIcon(QtGui.QIcon('images/fav.ico')) self.setFocus() exit = QtGui.QAction('Exit', self) exit.setShortcut('Ctrl+Q') self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()')) knowledge = QtGui.QAction('Guida', self) self.connect(knowledge, QtCore.SIGNAL('triggered()'), self.knowledge) menubar = self.menuBar() file = menubar.addMenu('File') file.addAction(knowledge) file.addAction(exit) self.labmintimet = QtGui.QLabel(self) self.labmintimet.setText('Tempo minimo aggiornamento:') self.labmintimet.setMinimumWidth(200) self.labmintimet.move(10,40) self.labmintime = QtGui.QLineEdit(self) self.labmintime.move(170, 40) self.labmaxtimet = QtGui.QLabel(self) self.labmaxtimet.setText('Tempo massimo aggiornamento:') self.labmaxtimet.setMinimumWidth(200) self.labmaxtimet.move(10, 65) self.labmaxtime = QtGui.QLineEdit(self) self.labmaxtime.move(170, 65) self.labuni = QtGui.QLineEdit(self) self.labuni.move(170, 90) self.labunit= QtGui.QLabel(self) self.labunit.setText('Universo (unixx o nome uni):') self.labunit.setMinimumWidth(200) self.labunit.move(10, 90) self.labaggt = QtGui.QLabel(self) self.labaggt.setText('Numero di aggiornamenti:') self.labaggt.setMinimumWidth(200) self.labaggt.move(10, 115) self.labagg = QtGui.QLineEdit(self) self.labagg.move(170, 115) self.labsesst = QtGui.QLabel(self) self.labsesst.setText('Sessione della login:') self.labsesst.setMinimumWidth(200) self.labsesst.move(10, 140) self.labsess = QtGui.QLineEdit(self) self.labsess.move(170, 140) self.labaggv = QtGui.QLabel(self) self.labaggv.setMinimumWidth(200) self.labaggv.move(10, 200) self.error = '' self.labagg.setToolTip('Numero di aggiornamenti che si vogliono far eseguire al programma') self.labmintime.setToolTip('Numero di tempo minimo per effettuare l\'aggiornamento') self.labmaxtime.setToolTip('Numero di tempo massimo per effettuare l\'aggiornamento') self.labsess.setToolTip('Quello che segue http://uni.ogame.it/game/index.php?page=defense&session=') self.labuni.setToolTip('Inserire unixx (xx e\' il numero) o il nome uni (draco, capella...)') QtGui.QToolTip.setFont(QtGui.QFont('Arial', 10)) self.avvia = QtGui.QPushButton('Avvia l\'applicazione!', self) self.avvia.setGeometry(280, 200, 130, 25) self.step = 0; self.timer = QtCore.QBasicTimer() self.step = 0; self.pbar = QtGui.QProgressBar(self) self.pbar.setGeometry(10, 180, 200, 25) self.volte = 0 self.connect(self.avvia, QtCore.SIGNAL('clicked()'), self.onStart) self.timer = QtCore.QBasicTimer() self.step = 0 def knowledge(self): webbrowser.open('http://www.universalsite.org/forum/informatica/tool-auto-aggiornante-ogame-pseudo-cheat/') @property def randomTime(self): try: minTime=int(self.labmintime.displayText()) maxTime=int(self.labmaxtime.displayText()) if maxTime > 3000: self.Valore2() self.widgetV.show() self.resetV() return else: return random.choice(range(minTime, maxTime)) except: self.resetV() self.errorfunct() self.widgetA.show() def openPage(self): self.labaggv.setText('Aggiornamento '+str(self.volte)+'/'+str(self.refereshes)) self.universe=self.labuni.displayText() self.session=self.labsess.displayText() typepage = random.choice(['overview','resources','station','research', 'shipyard', 'defense']) url = 'http://'+self.universe+'.ogame.it/game/index.php?page='+typepage+'&session='+self.session webbrowser.open(url) def resetV(self): self.labmintime.clear() self.labmaxtime.clear() self.labuni.clear() self.labagg.clear() self.labsess.clear() def timerEvent(self, event): try: if self.refereshes > 150: self.error=' Gli aggiornamenti non possono essere piu\' di 150' self.errorfunct() self.widgetA.show() else: if self.step >= 100: self.volte += 1 self.step=0 self.pbar.setValue(self.step) self.openPage() self.timer.stop() self.timer.start(self.randomTime*8, self) return if self.volte == self.refereshes: self.volte = 0 self.timer.stop() self.labaggv.setText('Completato') self.avvia.setText('Avvia l\'applicazione') self.step=0 self.pbar.setValue(self.step) return self.step = self.step + 1 self.pbar.setValue(self.step) except: self.resetV() self.errorfunct() self.widgetA.show() def errorfunct(self): self.widgetA = QtGui.QMessageBox() self.widgetA.resize(250, 150) self.widgetA.setWindowTitle('Errore') if self.error == '': self.widgetA.setText('E\' stato inserito uno o piu\' campi non validi.') else: self.widgetA.setText(self.error) def onStart(self): try: self.labaggv.show() self.volte = 0 self.refereshes=int(self.labagg.displayText()) self.labaggv.setText('Aggiornamento '+str(self.volte)+'/'+str(self.refereshes)) self.step=0 if self.timer.isActive(): self.timer.stop() self.avvia.setText('Riavvia l\'applicazione') self.pbar.setValue(0) self.labaggv.setText('Terminato') else: self.timer.start(self.randomTime*8, self) self.avvia.setText('Termina l\'applicazione') except: self.resetV() self.errorfunct() self.widgetA.show() app = QtGui.QApplication(sys.argv) icon = window() icon.show() app.exec_()