def login(self, password, **kwargs): session = kwargs['session'] password_hash = hashlib.sha256(password).hexdigest() if password_hash != config['password_hash']: return rpc_utils.rpc_return(True, False) session_id = session.startSession() session.logIn(True) return rpc_utils.rpc_return(True, True, session=session_id)
def videoSearch(self, search_string, **kwargs): pattern = search_string result = [] for rootPath in config['video_dirs']: for root, dirs, files in os.walk(rootPath): for filename in files: if fnmatch.fnmatch(filename.lower(), pattern.lower()): fullpath = os.path.join(root, filename) if fullpath.endswith(config['video_extensions']) == True: result.append(fullpath) return rpc_utils.rpc_return(True, result)
def status(self, **kwargs): session = kwargs['session'] if session.exists() and session.loggedIn(): return rpc_utils.rpc_return(True, True) else: return rpc_utils.rpc_return(True, False)
def logout(self, **kwargs): session = kwargs['session'] session.clear() return rpc_utils.rpc_return(True, None)
def prevSubtitles(self, **kwargs): self.videoplayer_proc.stdin.write(config['subtitles_prev']) return rpc_utils.rpc_return(True, None)
def volumeDown(self, **kwargs): self.videoplayer_proc.stdin.write(config['vol-']) return rpc_utils.rpc_return(True, None)
def bigSeekBackward(self, **kwargs): self.videoplayer_proc.stdin.write(config['big_seek_backward']) return rpc_utils.rpc_return(True, None)
def smallSeekForward(self, **kwargs): self.videoplayer_proc.stdin.write(config['small_seek_forward']) return rpc_utils.rpc_return(True, None)
def pause(self, **kwargs): self.videoplayer_proc.stdin.write(config['pause']) return rpc_utils.rpc_return(True, None)
def stopVideo(self, **kwargs): self.videoplayer_proc.terminate() self.videoplayer_proc.wait() self.videoplayer_proc = None return rpc_utils.rpc_return(True, None)
def startVideo(self, filename, **kwargs): cmd = list(config['video_player_cmd']) cmd.append(filename) self.videoplayer_proc = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) return rpc_utils.rpc_return(True, None)
def logout(self, **kwargs): session = kwargs['session'] session.clear(); return rpc_utils.rpc_return(True, None)