def __init__(self): # Load configuration values & initialize class variables self.disableLogging = config.general['disableLogging'] self.mediaRendererModelName = config.general['mediaRendererModelName'] self.lastRFIDCard = '' self.initializeWifi = False # Set up logging self.logger = logging.getLogger('DigitaleKassette') self.logger.setLevel(logging.DEBUG) ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') ch.setFormatter(formatter) self.logger.addHandler(ch) self.logger.disabled = self.disableLogging os.system('gmediarender start &') time.sleep(5) # Initialize UPnP connection and discover devices self.uPNPController = UPNPController() self.uPNPController.discoverDevices() self.uPNPController.getDeviceInformation() self.uPNPController.getDeviceByModelName('MediaRenderer', self.mediaRendererModelName) self.uPNPController.getDevicesByDeviceType('urn:schemas-upnp-org:device:MediaServer:1', 'MediaServer') # Initialize ActionDB self.actionData = ActionData() # Initialize RFID-Reader self.reader = RFIDReader(True) # Initialize JukeBox self.jb = JukeBox(self.uPNPController, self.actionData) # Initalize Wifi self.wifi = Wifi() if not self.wifi.isConnected(): self.initializeWifi = True self.wifi.startAccessPoint() # Initialize WebApp self.webApp = WebApp(self.uPNPController, self.actionData, self, self.wifi, self.initializeWifi)
class DigitaleKassette(threading.Thread): def __init__(self): # Load configuration values & initialize class variables self.disableLogging = config.general['disableLogging'] self.mediaRendererModelName = config.general['mediaRendererModelName'] self.lastRFIDCard = '' self.initializeWifi = False # Set up logging self.logger = logging.getLogger('DigitaleKassette') self.logger.setLevel(logging.DEBUG) ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') ch.setFormatter(formatter) self.logger.addHandler(ch) self.logger.disabled = self.disableLogging os.system('gmediarender start &') time.sleep(5) # Initialize UPnP connection and discover devices self.uPNPController = UPNPController() self.uPNPController.discoverDevices() self.uPNPController.getDeviceInformation() self.uPNPController.getDeviceByModelName('MediaRenderer', self.mediaRendererModelName) self.uPNPController.getDevicesByDeviceType('urn:schemas-upnp-org:device:MediaServer:1', 'MediaServer') # Initialize ActionDB self.actionData = ActionData() # Initialize RFID-Reader self.reader = RFIDReader(True) # Initialize JukeBox self.jb = JukeBox(self.uPNPController, self.actionData) # Initalize Wifi self.wifi = Wifi() if not self.wifi.isConnected(): self.initializeWifi = True self.wifi.startAccessPoint() # Initialize WebApp self.webApp = WebApp(self.uPNPController, self.actionData, self, self.wifi, self.initializeWifi) def onNewConnection(self): os.system('gmediarender start &') time.sleep(5) self.uPNPController.discoverDevices() self.uPNPController.getDeviceInformation() self.uPNPController.getDeviceByModelName('MediaRenderer', self.mediaRendererModelName) self.uPNPController.getDevicesByDeviceType('urn:schemas-upnp-org:device:MediaServer:1', 'MediaServer') #os.system('sudo fuser -k 80/tcp') #self.webApp = WebApp(self.uPNPController, self.actionData, self, self.wifi, False) #Ready: make some noise os.system('mpg321 audio/beep.mp3 &') def lockRFID(self): if(self.jb.rfidIsLocked == False): self.jb.rfidIsLocked = True time.sleep(self.jb.rfidLockIntervall) self.jb.rfidIsLocked = False #hide last card from Jukebox self.reader.lastID = '' return True else: self.logger.error('RFIDReader is already locked...') return False