while 1: if not Dict["scrobble"]: break # Grab the next line of the log read_result = self.try_read(False, log_data['where']) if read_result: log_data = read_result self.process(log_data['line']) else: Log.Warn('Unable to read log file') def process(self, line): match = CLIENT_REGEX.match(line) if not match: return info = match.groupdict() if info.get('trailing'): info.update(dict(CLIENT_PARAM_REGEX.findall(info.pop('trailing')))) valid = all([key in info for key in self.required_info]) if valid: self.scrobbler.update(info) PlexActivity.register(Logging)
return frame.opcode, None elif frame.opcode == websocket.ABNF.OPCODE_PING: self.ws.pong("Hi!") return None, None def process(self, opcode, data): if opcode not in self.opcode_data: return info = JSON.ObjectFromString(data) item = info['_children'][0] if info['type'] == "playing" and Dict["scrobble"]: session_key = str(item['sessionKey']) state = str(item['state']) view_offset = try_convert(item['viewOffset'], int) self.scrobbler.update(session_key, state, view_offset) if info['type'] == "timeline" and Dict['new_sync_collection']: if item['type'] not in [1, 4]: return if item['state'] == 0: Log.Info("New File added to Libray: " + item['title'] + ' - ' + str(item['itemID'])) self.update_collection(item['itemID'], 'add') PlexActivity.register(WebSocket, weight=10)
self.ws.pong("Hi!") return None, None def process(self, opcode, data): if opcode not in self.opcode_data: return info = JSON.ObjectFromString(data) item = info['_children'][0] if info['type'] == "playing" and Dict["scrobble"]: session_key = str(item['sessionKey']) state = str(item['state']) view_offset = try_convert(item['viewOffset'], int) self.scrobbler.update(session_key, state, view_offset) if info['type'] == "timeline" and Dict['new_sync_collection']: if item['type'] not in [1, 4]: return if item['state'] == 0: Log.Info("New File added to Libray: " + item['title'] + ' - ' + str(item['itemID'])) self.update_collection(item['itemID'], 'add') PlexActivity.register(WebSocket, weight=10)