from syncplay import constants class BasePlayer(object): ''' This method is supposed to execute updatePlayerStatus(paused, position) on client Given the arguments: boolean paused and float position in seconds ''' def askForStatus(self): raise NotImplementedError() ''' Display given message on player's OSD or similar means ''' def displayMessage(self, message, duration = (constants.OSD_DURATION*1000)): raise NotImplementedError() ''' Cleanup connection with player before syncplay will close down ''' def drop(self): raise NotImplementedError() ''' Start up the player, returns its instance ''' @staticmethod def run(client, playerPath, filePath, args): raise NotImplementedError() ''' @type value: boolean ''' def setPaused(self, value): raise NotImplementedError() ''' @type value: float ''' def setPosition(self, value): raise NotImplementedError() ''' @type value: float ''' def setSpeed(self, value): raise NotImplementedError() ''' @type filePath: string ''' def openFile(self, filePath, resetPosition=False): raise NotImplementedError() ''' @return: list of strings ''' @staticmethod def getDefaultPlayerPathsList(): raise NotImplementedError() ''' @type path: string ''' @staticmethod def isValidPlayerPath(path): raise NotImplementedError() ''' @type path: string @return: string ''' @staticmethod def getIconPath(path): raise NotImplementedError() ''' @type path: string @return: string ''' @staticmethod def getExpandedPath(path): raise NotImplementedError() ''' Opens a custom media browse dialog, and then changes to that media if appropriate ''' @staticmethod def openCustomOpenDialog(self): raise NotImplementedError() ''' @type filePath: string @return errorMessage: string Checks if the player has any problems with the given file (or lack of file) If a problem is detected then it returns the error message If the file is fine then it returns None ''' @staticmethod def getFilePathErrors(filePath): raise NotImplementedError() class DummyPlayer(BasePlayer): @staticmethod def getDefaultPlayerPathsList(): return [] @staticmethod def isValidPlayerPath(path): return False @staticmethod def getIconPath(path): return None @staticmethod def getExpandedPath(path): return path @staticmethod def getFilePathErrors(filePath): return None