def __init__(self,alarmThread,shutdownCallback,weatherFetcher): threading.Thread.__init__(self) self.alarmThread = alarmThread self.stopping=False self.message="" self.settings = Settings.Settings() self.weather = weatherFetcher self.menu = MenuControl.MenuControl(alarmThread,shutdownCallback) self.menu.setDaemon(True) self.lcd = LCDControl() self.lcd.white() self.setMessage("Booting up...") self.rotor = InputWorker(self) self.rotor.start()
def __init__(self, alarmThread, settings, weather, media, shutdownCallback): threading.Thread.__init__(self) self.alarmThread = alarmThread self.stopping = False self.message = "" self.settings = settings self.weather = weather self.menu = MenuControl.MenuControl(alarmThread, settings, media, shutdownCallback) self.menu.setDaemon(True) self.lcd = LCDControl() self.lcd.white() self.setMessage("Booting up...") if self.settings.getInt('use_rotor') == 1: self.rotor = InputWorker(self) self.rotor.start()
def __init__(self, alarmThread, shutdownCallback, weatherFetcher): threading.Thread.__init__(self) self.alarmThread = alarmThread self.stopping = False self.message = "" self.settings = Settings.Settings() self.weather = weatherFetcher self.menu = MenuControl.MenuControl(alarmThread, shutdownCallback) self.menu.setDaemon(True) self.lcd = LCDControl() self.lcd.white() self.setMessage("Booting up...") self.rotor = InputWorker(self) self.rotor.start()
class LcdThread(threading.Thread): def __init__(self, alarmThread, shutdownCallback, weatherFetcher): threading.Thread.__init__(self) self.alarmThread = alarmThread self.stopping = False self.message = "" self.settings = Settings.Settings() self.weather = weatherFetcher self.menu = MenuControl.MenuControl(alarmThread, shutdownCallback) self.menu.setDaemon(True) self.lcd = LCDControl() self.lcd.white() self.setMessage("Booting up...") self.rotor = InputWorker(self) self.rotor.start() def setBrightness(self, brightness): # We get passes a value from 0 - 15, which we need to scale to 0-255 before passing to LCDControl colVal = int(255 * (float(brightness) / 15)) self.lcd.setColour(colVal, colVal, colVal) def setMessage(self, newMessage, center=False): if newMessage != self.message: self.message = newMessage self.lcd.setMessage(self.message, center) def scroll(self, direction): self.menu.scroll(direction) # Called by InputWorker on press of the select button def select(self): if self.alarmThread.isAlarmSounding(): # Lets snooze for a while self.alarmThread.snooze() return self.menu.select() # Called by InputWorker on press of the cancel button def cancel(self): if self.alarmThread.isAlarmSounding() or self.alarmThread.isSnoozing(): # Stop the alarm! self.alarmThread.stopAlarm() return if self.alarmThread.alarmInSeconds() < self.settings.getInt("preempt_cancel") and not self.menu.isActive(): # We're in the allowable window for pre-empting a cancel alarm, and we're not in the menu log.info("Pre-empt cancel triggered") self.alarmThread.stopAlarm() return self.menu.cancel() def stop(self): self.stopping = True def run(self): self.menu.start() self.lcd.setMessage("Boot finished") while not self.stopping: time.sleep(0.1) try: if self.alarmThread.isAlarmSounding(): self.setMessage("Wakey wakey!", True) continue if self.menu.isActive(): message = self.menu.getMessage() elif self.menu.backgroundRadioActive(): message = "Radio player on" else: now = datetime.datetime.now(pytz.timezone("Europe/London")) message = formatDate(now) message += "\n" message += self.weather.getWeather().display() message += "\n" message += self.alarmThread.getMenuLine() self.setMessage(message, True) except: log.exception("Error in LcdThread loop") # end while not stopping self.setMessage("Shutting down") self.lcd.shutdown() self.menu.stop()
class LcdThread(threading.Thread): def __init__(self, alarmThread, settings, weather, media, shutdownCallback): threading.Thread.__init__(self) self.alarmThread = alarmThread self.stopping = False self.message = "" self.settings = settings self.weather = weather self.menu = MenuControl.MenuControl(alarmThread, settings, media, shutdownCallback) self.menu.setDaemon(True) self.lcd = LCDControl() self.lcd.white() self.setMessage("Booting up...") if self.settings.getInt('use_rotor') == 1: self.rotor = InputWorker(self) self.rotor.start() def setBrightness(self, brightness): # We get passes a value from 0 - 15, which we need to scale to 0-255 before passing to LCDControl colVal = int(255 * (float(brightness) / 15)) self.lcd.setColour(colVal, colVal, colVal) def setMessage(self, newMessage, center=False): if newMessage != self.message: self.message = newMessage self.lcd.setMessage(self.message, center) def scroll(self, direction): self.menu.scroll(direction) # Called by InputWorker on press of the select button def select(self): if self.alarmThread.isAlarmSounding(): # Lets snooze for a while self.alarmThread.snooze() return self.menu.select() # Called by InputWorker on press of the cancel button def cancel(self): if self.alarmThread.isAlarmSounding() or self.alarmThread.isSnoozing(): # Stop the alarm! self.alarmThread.stopAlarm() return if self.alarmThread.alarmInSeconds() < self.settings.getInt( 'preempt_cancel') and not self.menu.isActive(): # We're in the allowable window for pre-empting a cancel alarm, and we're not in the menu log.info("Pre-empt cancel triggered") self.alarmThread.stopAlarm() return self.menu.cancel() def stop(self): self.stopping = True def run(self): self.menu.start() self.lcd.setMessage("Boot finished") while (not self.stopping): time.sleep(0.1) try: if self.alarmThread.isAlarmSounding(): self.setMessage("Wakey wakey!", True) continue if self.menu.isActive(): message = self.menu.getMessage() elif self.menu.backgroundRadioActive(): message = "Radio player on" else: now = datetime.datetime.now( pytz.timezone(self.settings.get('timezone'))) message = formatDate(now) message += "\n" message += self.weather.getWeather().display() message += "\n" message += self.alarmThread.getMenuLine() self.setMessage(message, True) except: log.exception("Error in LcdThread loop") # end while not stopping self.setMessage("Shutting down") self.lcd.shutdown() self.menu.stop()
import sys sys.path.append("./sources/") from Preview import Preview from InputWorker import InputWorker from ProxyWorker import ProxyWorker import Threads ###### PREVIEW ###### Preview.do() ###### DATA INPUT ###### inputs = InputWorker.initializator() selected_proxy = inputs[0] pages = inputs[1] login = inputs[2] passwords = inputs[3] threadcount = inputs[4] ###### WORKOUT ###### if selected_proxy == True: proxies = ProxyWorker.AutoGrabber(pages) Threads.ThreadsCreator(proxies, login, passwords, threadcount) elif selected_proxy == False: print('[Error] Something went wrong with proxies.\n\nShutting down...')
from AudioPlayer import AudioPlayer from InputWorker import InputWorker from MusicDB import MusicDB from ScannerWorker import ScannerWorker from input.SipPuffEvent import SipPuffEvent from helpers.QueueMerge import QueueMerge from scanner.ScannerEvents import ScannerEvent, RootPathAppeared, RootPathRemoved, AudioFileFound if __name__ == '__main__': # Create the database mdb = MusicDB() # initialize input system inputProcess = InputWorker() inputProcess.start() # initialize scanner scannerProcess = ScannerWorker() scannerProcess.start() # merge the outputs into a single queue qm = QueueMerge() qm.add_input_queue(inputProcess.output_queue) qm.add_input_queue(scannerProcess.output_queue) # initialize audio player player = AudioPlayer() while True: # Endless work loop. We read an event and act on it event = qm.outputQueue.get()
def initInput(self, settings, alarm): from InputWorker import InputWorker log.debug("Initializing inputs") inputWorker = InputWorker(alarm, settings) inputWorker.start() return inputWorker