def discover_all_servers(self): if self.is_myplex_signedin(): printDebug.info( "PleXBMC -> Adding myplex as a server location") self.server_list = self.get_myplex_servers() if self.server_list: printDebug.info("MyPlex discovery completed") if settings.get_setting('discovery') == "1": printDebug.info("local GDM discovery setting enabled.") printDebug.info("Attempting GDM lookup on multicast") if settings.get_debug() >= printDebug.DEBUG_INFO: GDM_debug=3 else: GDM_debug=0 try: gdm_client = plexgdm.plexgdm(GDM_debug) gdm_client.discover() gdm_server_name = gdm_client.getServerList() except Exception, e: print "PleXBMC -> GDM Issue [%s]" % e else: if gdm_client.discovery_complete and gdm_server_name : printDebug.info("GDM discovery completed") for device in gdm_server_name: new_server=PlexMediaServer(name=device['serverName'],uri="http://"+device['server']+":"+device['port'], discovery='discovery', uuid=device['uuid']) new_server.set_user(self.effective_user) new_server.set_token(self.effective_token) self.merge_servers(new_server) else: printDebug.info("GDM was not able to discover any servers")
def discover_all_servers(self): if self.is_myplex_signedin(): printDebug.info( "PleXBMC -> Adding myplex as a server location") self.server_list = self.get_myplex_servers() if self.server_list: printDebug.info("MyPlex discovery completed") if settings.get_setting('discovery') == "1": printDebug.info("local GDM discovery setting enabled.") printDebug.info("Attempting GDM lookup on multicast") if settings.get_debug() >= printDebug.DEBUG_INFO: GDM_debug=3 else: GDM_debug=0 try: gdm_client = plexgdm.plexgdm(GDM_debug) gdm_client.discover() gdm_server_name = gdm_client.getServerList() except Exception, e: print "PleXBMC -> GDM Issue [%s]" % e else: if gdm_client.discovery_complete and gdm_server_name : printDebug.info("GDM discovery completed") for device in gdm_server_name: new_server=PlexMediaServer(name=device['serverName'],address=device['server'], port=device['port'], discovery='discovery', uuid=device['uuid']) new_server.set_user(self.effective_user) new_server.set_token(self.effective_token) self.merge_servers(new_server) else: printDebug.info("GDM was not able to discover any servers")
from listener import * import plexgdm print "===== PLEXBMC HELPER START =====" print "PleXBMC Helper -> running Python: " + str(sys.version_info) print "PleXBMC Helper -> running Version: " + __version__ print "PleXBMC Helper -> Platform: " + getPlatform() print "PleXBMC Helper -> UUID: " + settings['uuid'] settings['plexbmc_version'] = jsonrpc("Addons.GetAddonDetails", {"addonid" : "plugin.video.plexbmc", "properties" : ["version"]}).get('addon',{}).get('version', False) if not settings['plexbmc_version']: xbmc.executebuiltin("XBMC.Notification(PleXBMC Helper: PleXBMC not installed,)") else: # Start GDM for server/client discovery client=plexgdm.plexgdm(debug=settings['gdm_debug']) client.clientDetails(settings['uuid'], settings['client_name'], settings['myport'], "PleXBMC" , settings['plexbmc_version']) printDebug("PleXBMC Helper -> registration string is: %s " % client.getClientDetails() ) start_count=0 while True: try: httpd = ThreadedHTTPServer(('', settings['myport']), MyHandler) httpd.timeout = 0.95 break except: print "PleXBMC Helper -> Unable to start web helper. Sleep and Retry..." __addon__.setSetting("replacement", "true") xbmc.sleep(3000)
from subscribers import subMgr from listener import * import plexgdm print "===== PLEXBMC HELPER START =====" print "PleXBMC Helper -> running Python: " + str(sys.version_info) print "PleXBMC Helper -> running Version: " + __version__ print "PleXBMC Helper -> Platform: " + getPlatform() print "PleXBMC Helper -> UUID: " + settings['uuid'] if not settings.get('plexbmc_version', False): xbmc.executebuiltin( "XBMC.Notification(PleXBMC Helper: PleXBMC not installed,)") else: # Start GDM for server/client discovery client = plexgdm.plexgdm(debug=settings['gdm_debug']) client.clientDetails(settings['uuid'], settings['client_name'], settings['myport'], "PleXBMC", settings.get('plexbmc_version', '1.0')) printDebug("PleXBMC Helper -> registration string is: %s " % client.getClientDetails()) start_count = 0 while True: try: httpd = ThreadedHTTPServer(('', settings['myport']), MyHandler) httpd.timeout = 0.95 break except: print "PleXBMC Helper -> Unable to start web helper. Sleep and Retry..." __addon__.setSetting("replacement", "true")
if result: if result.get('error'): print "PleXBMC addon [plugin.video.plexbmc] not installed" xbmc.executebuiltin("XBMC.Notification(PleXBMC Helper: PlEXBMC not installed,)") plexbmc_version=None elif result.get('result').get('addon').get('version'): plexbmc_version=result.get('result').get('addon').get('version') else: plexbmc_version="Unknown" else: plexbmc_version="Unknown" httpd_port = 3000 is_running=False client=plexgdm.plexgdm(debug=int(g_gdm_debug)) client.clientDetails(g_identifier, g_client_name, httpd_port, "PleXBMC" , plexbmc_version) printDebug("PleXBMC Helper -> registeration string is: %s " % client.getClientDetails() ) socket.setdefaulttimeout(10) server_class = ThreadedHTTPServer #Try to start the webserver, 12 seconds max waiting. start_count=0 while True: try: httpd = server_class(('', httpd_port), MyHandler) break except: print "PleXBMC Helper -> Unable to start web helper. Sleep and Retry..."
if result.get('error'): print "PleXBMC addon [plugin.video.plexbmc] not installed" xbmc.executebuiltin( "XBMC.Notification(PleXBMC Helper: PlEXBMC not installed,)") plexbmc_version = None elif result.get('result').get('addon').get('version'): plexbmc_version = result.get('result').get('addon').get('version') else: plexbmc_version = "Unknown" else: plexbmc_version = "Unknown" httpd_port = 3000 is_running = False client = plexgdm.plexgdm(debug=int(g_gdm_debug)) client.clientDetails(g_identifier, g_client_name, httpd_port, "PleXBMC", plexbmc_version) printDebug("PleXBMC Helper -> registeration string is: %s " % client.getClientDetails()) socket.setdefaulttimeout(10) server_class = ThreadedHTTPServer #Try to start the webserver, 12 seconds max waiting. start_count = 0 while True: try: httpd = server_class(('', httpd_port), MyHandler) break