Example #1
0
    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")
Example #2
0
    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)
    
Example #4
0
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")
Example #5
0
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..."
Example #6
0
    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