From 280d5a4222de687374486bf122e51c3bf9318f81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Gl=C3=BCpker?= Date: Fri, 8 Apr 2016 10:17:10 +0200 Subject: New config option: Autostart --- 9kwpyqt.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/9kwpyqt.py b/9kwpyqt.py index cbc84be..aceff68 100755 --- a/9kwpyqt.py +++ b/9kwpyqt.py @@ -180,8 +180,10 @@ class CaptchaGUI(QWidget): def removeCaptchaImage(self): self.captchaImage.removeImage() - def toggleRunning(self): - self.running = not self.running + def toggleRunning(self, force_start=False, force_stop=False): + if force_start: self.running = True + elif force_stop: self.running = False + else: self.running = not self.running self.captchaImage.setText("") self.offlinemessage = "Click \"Start\" to fetch next captcha." self.startstopButton.setText(self.running and "Stop" or "Start") @@ -325,11 +327,14 @@ class CaptchaGUI(QWidget): # Handle logic ################################################## def readConfig(self): + if self.config is not None: + return False defaultconfig = {} defaultconfig['API_URL'] = 'http://www.9kw.eu/index.cgi' defaultconfig['API_KEY'] = '' defaultconfig['Sound'] = 'yes' defaultconfig['Soundfile'] = 'notify.wav' + defaultconfig['Autostart'] = 'no' self.config = configparser.ConfigParser(defaultconfig) try: self.config.read_file(open('9kwpyqt.ini')) @@ -344,6 +349,8 @@ class CaptchaGUI(QWidget): self.apiurl = self.config['DEFAULT']['API_URL']+"?source=pythonapi&apikey="+self.config['DEFAULT']['API_KEY']+"&" self.sound = QSound(self.config['DEFAULT']['Soundfile']) self.soundCheckbox.setChecked( self.config.getboolean('DEFAULT', 'Sound') ) + if self.config.getboolean('DEFAULT', 'Autostart'): + self.toggleRunning(force_start=True) return True def writeConfig(self): @@ -371,11 +378,9 @@ class CaptchaGUI(QWidget): timing = self.timeleft - time.time() self.captchaTimer.setText(str(round(timing, 1))+"s") if timing <= 0: - self.timeleft = None - self.running = False + self.toggleRunning(force_stop=True) self.offlinemessage = "30 seconds passed without input." - self.startstopButton.setText(self.running and "Stop" or "Start") - self.startstopButton.setChecked(self.running) + self.timeleft = None self.skipCaptcha() def onQuit(self): -- cgit v1.2.3