Пример #1
0
def checkSkin():
	wiz.log("[Build Check] Invalid Skin Check Start")
	DEFAULTSKIN   = wiz.getS('defaultskin')
	DEFAULTNAME   = wiz.getS('defaultskinname')
	DEFAULTIGNORE = wiz.getS('defaultskinignore')
	if not DEFAULTSKIN == '':
		if os.path.exists(os.path.join(ADDONS, DEFAULTSKIN)):
			if DIALOG.yesno(ADDONTITLE, "It seems that the skin has been set back to [COLOR yellow]%s[/COLOR]" % SKIN[5:].title(), "Would you like to set the skin back to:", '[COLOR yellow]%s[/COLOR]' % DEFAULTNAME):
				gotoskin = DEFAULTSKIN
				gotoname = DEFAULTNAME
			else: wiz.log("Skin was not reset"); wiz.setS('defaultskinignore', 'true')
		else: wiz.setS('defaultskin', ''); wiz.setS('defaultskinname', ''); DEFAULTSKIN = ''; DEFAULTNAME = ''
	if DEFAULTSKIN == '':
		skinname = []
		skinlist = []
		for folder in glob.glob(os.path.join(ADDONS, 'skin.*/')):
			xml = "%s/addon.xml" % folder
			if os.path.exists(xml):
				f  = open(xml,mode='r'); g = f.read().replace('\n','').replace('\r','').replace('\t',''); f.close();
				match = re.compile('<addon.+?id="(.+?)".+?>').findall(g)
				match2 = re.compile('<addon.+?name="(.+?)".+?>').findall(g)
				wiz.log("%s: %s" % (folder, str(match[0])))
				if len(match) > 0: skinlist.append(str(match[0])); skinname.append(str(match2[0]))
				else: wiz.log("ID not found for %s" % folder)
			else: wiz.log("ID not found for %s" % folder)
		if len(skinlist) > 0:
			if len(skinlist) > 1:
				if DIALOG.yesno(ADDONTITLE, "It seems that the skin has been set back to [COLOR yellow]%s[/COLOR]" % SKIN[5:].title(), "Would you like to view a list of avaliable skins?"):
					choice = DIALOG.select("Select skin to switch to!", skinname)
					if choice == -1: wiz.log("Skin was not reset"); wiz.setS('defaultskinignore', 'true')
					else: 
						gotoskin = skinlist[choice]
						gotoname = skinname[choice]
				else: wiz.log("Skin was not reset"); wiz.setS('defaultskinignore', 'true')
			else:
				if DIALOG.yesno(ADDONTITLE, "It seems that the skin has been set back to [COLOR yellow]%s[/COLOR]" % SKIN[5:].title(), "Would you like to set the skin back to:", '[COLOR yellow]%s[/COLOR]' % skinname[0]):
					gotoskin = skinlist[0]
					gotoname = skinname[0]
				else: wiz.log("Skin was not reset"); wiz.setS('defaultskinignore', 'true')
		else: wiz.log("No skins found in addons folder."); wiz.setS('defaultskinignore', 'true')
	if gotoskin:
		skinSwitch.swapSkins(gotoskin)
		x = 0
		xbmc.sleep(1000)
		while not xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
			if x == 150:
				break
			x += 1
			xbmc.sleep(200)
					
		if xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
			xbmc.executebuiltin('SetFocus(11)')
			xbmc.executebuiltin('Action(Select)')
			wiz.LogNotify("Skin Swap", 'Skin reset to %s' % gotoname)
		else: 
			wiz.LogNotify(ADDONTITLE,'[COLOR red]Skin Swap Timed Out![/COLOR]')
	wiz.log("[Build Check] Invalid Skin Check End")
def checkSkin():
	wiz.log("[Build Check] Invalid Skin Check Start")
	DEFAULTSKIN   = wiz.getS('defaultskin')
	DEFAULTNAME   = wiz.getS('defaultskinname')
	DEFAULTIGNORE = wiz.getS('defaultskinignore')
	gotoskin = False
	if not DEFAULTSKIN == '':
		if os.path.exists(os.path.join(ADDONS, DEFAULTSKIN)):
			if DIALOG.yesno(ADDONTITLE, "[COLOR %s]It seems that the skin has been set back to [COLOR %s]%s[/COLOR]" % (COLOR2, COLOR1, SKIN[5:].title()), "Would you like to set the skin back to:[/COLOR]", '[COLOR %s]%s[/COLOR]' % (COLOR1, DEFAULTNAME)):
				gotoskin = DEFAULTSKIN
				gotoname = DEFAULTNAME
			else: wiz.log("Skin was not reset", xbmc.LOGNOTICE); wiz.setS('defaultskinignore', 'true'); gotoskin = False
		else: wiz.setS('defaultskin', ''); wiz.setS('defaultskinname', ''); DEFAULTSKIN = ''; DEFAULTNAME = ''
	if DEFAULTSKIN == '':
		skinname = []
		skinlist = []
		for folder in glob.glob(os.path.join(ADDONS, 'skin.*/')):
			xml = "%s/addon.xml" % folder
			if os.path.exists(xml):
				f  = open(xml,mode='r'); g = f.read().replace('\n','').replace('\r','').replace('\t',''); f.close();
				match  = wiz.parseDOM(g, 'addon', ret='id')
				match2 = wiz.parseDOM(g, 'addon', ret='name')
				wiz.log("%s: %s" % (folder, str(match[0])), xbmc.LOGNOTICE)
				if len(match) > 0: skinlist.append(str(match[0])); skinname.append(str(match2[0]))
				else: wiz.log("ID not found for %s" % folder, xbmc.LOGNOTICE)
			else: wiz.log("ID not found for %s" % folder, xbmc.LOGNOTICE)
		if len(skinlist) > 0:
			if len(skinlist) > 1:
				if DIALOG.yesno(ADDONTITLE, "[COLOR %s]It seems that the skin has been set back to [COLOR %s]%s[/COLOR]" % (COLOR2, COLOR1, SKIN[5:].title()), "Would you like to view a list of avaliable skins?[/COLOR]"):
					choice = DIALOG.select("Select skin to switch to!", skinname)
					if choice == -1: wiz.log("Skin was not reset", xbmc.LOGNOTICE); wiz.setS('defaultskinignore', 'true')
					else: 
						gotoskin = skinlist[choice]
						gotoname = skinname[choice]
				else: wiz.log("Skin was not reset", xbmc.LOGNOTICE); wiz.setS('defaultskinignore', 'true')
			else:
				if DIALOG.yesno(ADDONTITLE, "[COLOR %s]It seems that the skin has been set back to [COLOR %s]%s[/COLOR]" % (COLOR2, COLOR1, SKIN[5:].title()), "Would you like to set the skin back to:[/COLOR]", '[COLOR %s]%s[/COLOR]' % (COLOR1, skinname[0])):
					gotoskin = skinlist[0]
					gotoname = skinname[0]
				else: wiz.log("Skin was not reset", xbmc.LOGNOTICE); wiz.setS('defaultskinignore', 'true')
		else: wiz.log("No skins found in addons folder.", xbmc.LOGNOTICE); wiz.setS('defaultskinignore', 'true'); gotoskin = False
	if gotoskin:
		skinSwitch.swapSkins(gotoskin)
		x = 0
		xbmc.sleep(1000)
		while not xbmc.getCondVisibility("Window.isVisible(yesnodialog)") and x < 150:
			x += 1
			xbmc.sleep(200)

		if xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
			wiz.ebi('SendClick(11)')
			wiz.lookandFeelData('restore')
		else: wiz.LogNotify("[COLOR %s]%s[/COLOR]" % (COLOR1, ADDONTITLE),'[COLOR %s]Skin Swap Timed Out![/COLOR]' % COLOR2)
	wiz.log("[Build Check] Invalid Skin Check End", xbmc.LOGNOTICE)
Пример #3
0
def checkSkin():
	wiz.log("[Build Check] Invalid Skin Check Start")
	DEFAULTSKIN   = wiz.getS('defaultskin')
	DEFAULTNAME   = wiz.getS('defaultskinname')
	DEFAULTIGNORE = wiz.getS('defaultskinignore')
	gotoskin = False
	if not DEFAULTSKIN == '':
		if os.path.exists(os.path.join(ADDONS, DEFAULTSKIN)):
			if DIALOG.yesno(ADDONTITLE, "[COLOR %s]It seems that the skin has been set back to [COLOR %s]%s[/COLOR]" % (COLOR2, COLOR1, SKIN[5:].title()), "Would you like to set the skin back to:[/COLOR]", '[COLOR %s]%s[/COLOR]' % (COLOR1, DEFAULTNAME)):
				gotoskin = DEFAULTSKIN
				gotoname = DEFAULTNAME
			else: wiz.log("Skin was not reset", xbmc.LOGNOTICE); wiz.setS('defaultskinignore', 'true'); gotoskin = False
		else: wiz.setS('defaultskin', ''); wiz.setS('defaultskinname', ''); DEFAULTSKIN = ''; DEFAULTNAME = ''
	if DEFAULTSKIN == '':
		skinname = []
		skinlist = []
		for folder in glob.glob(os.path.join(ADDONS, 'skin.*/')):
			xml = "%s/addon.xml" % folder
			if os.path.exists(xml):
				f  = open(xml,mode='r'); g = f.read().replace('\n','').replace('\r','').replace('\t',''); f.close();
				match  = wiz.parseDOM(g, 'addon', ret='id')
				match2 = wiz.parseDOM(g, 'addon', ret='name')
				wiz.log("%s: %s" % (folder, str(match[0])), xbmc.LOGNOTICE)
				if len(match) > 0: skinlist.append(str(match[0])); skinname.append(str(match2[0]))
				else: wiz.log("ID not found for %s" % folder, xbmc.LOGNOTICE)
			else: wiz.log("ID not found for %s" % folder, xbmc.LOGNOTICE)
		if len(skinlist) > 0:
			if len(skinlist) > 1:
				if DIALOG.yesno(ADDONTITLE, "[COLOR %s]It seems that the skin has been set back to [COLOR %s]%s[/COLOR]" % (COLOR2, COLOR1, SKIN[5:].title()), "Would you like to view a list of avaliable skins?[/COLOR]"):
					choice = DIALOG.select("Select skin to switch to!", skinname)
					if choice == -1: wiz.log("Skin was not reset", xbmc.LOGNOTICE); wiz.setS('defaultskinignore', 'true')
					else: 
						gotoskin = skinlist[choice]
						gotoname = skinname[choice]
				else: wiz.log("Skin was not reset", xbmc.LOGNOTICE); wiz.setS('defaultskinignore', 'true')
			else:
				if DIALOG.yesno(ADDONTITLE, "[COLOR %s]It seems that the skin has been set back to [COLOR %s]%s[/COLOR]" % (COLOR2, COLOR1, SKIN[5:].title()), "Would you like to set the skin back to:[/COLOR]", '[COLOR %s]%s[/COLOR]' % (COLOR1, skinname[0])):
					gotoskin = skinlist[0]
					gotoname = skinname[0]
				else: wiz.log("Skin was not reset", xbmc.LOGNOTICE); wiz.setS('defaultskinignore', 'true')
		else: wiz.log("No skins found in addons folder.", xbmc.LOGNOTICE); wiz.setS('defaultskinignore', 'true'); gotoskin = False
	if gotoskin:
		skinSwitch.swapSkins(gotoskin)
		x = 0
		xbmc.sleep(1000)
		while not xbmc.getCondVisibility("Window.isVisible(yesnodialog)") and x < 150:
			x += 1
			xbmc.sleep(200)

		if xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
			wiz.ebi('SendClick(11)')
			wiz.lookandFeelData('restore')
		else: wiz.LogNotify("[COLOR %s]%s[/COLOR]" % (COLOR1, ADDONTITLE),'[COLOR %s]Skin Swap Timed Out![/COLOR]' % COLOR2)
	wiz.log("[Build Check] Invalid Skin Check End", xbmc.LOGNOTICE)
Пример #4
0
def skinswap():
    skin = xbmc.getSkinDir()
    KODIV = float(xbmc.getInfoLabel("System.BuildVersion")[:4])
    skinswapped = 0
    if skin not in ['skin.confluence', 'skin.estuary']:
        choice = xbmcgui.Dialog().yesno(
            cr + ADDONTITLE + cr2,
            cr1 + 'You are not using the default confluence skin.' + cr2,
            cr1 + 'Click Yes to switch to the default confluence skin now.' +
            cr2,
            cr1 + 'Please be patient as we attempt to switch your skin.' + cr2,
            yeslabel=cr + 'YES' + cr2,
            nolabel=cr1 + 'NO' + cr2)
        if choice == 0:
            sys.exit(1)
        skin = 'skin.estuary' if KODIV >= 17 else 'skin.confluence'
        skinSwitch.swapSkins(skin)
        skinswapped = 1
        time.sleep(1)
    if skinswapped == 1:
        if not xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
            xbmc.executebuiltin("Action(Select)")
    if skinswapped == 1:
        while not xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
            time.sleep(1)
    if skinswapped == 1:
        while xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
            xbmc.executebuiltin("Action(Left)")
            xbmc.executebuiltin("Action(Select)")
            time.sleep(1)
    skin = xbmc.getSkinDir()
    if skin not in ['skin.confluence', 'skin.estuary']:
        choice = xbmcgui.Dialog().yesno(
            cr + ADDONTITLE + cr2,
            cr3 + 'ERROR: AUTOSWITCH WAS NOT SUCCESFULL' + cr2,
            cr1 + 'CLICK YES TO MANUALLY SWITCH TO CONFLUENCE NOW' + cr2,
            cr1 +
            'YOU CAN PRESS NO AND ATTEMPT THE AUTO SWITCH AGAIN IF YOU WISH' +
            cr2,
            yeslabel=cr + 'YES' + cr2,
            nolabel=cr1 + 'NO' + cr2)
        if choice == 1:
            xbmc.executebuiltin("ActivateWindow(appearancesettings)")
            return
        else:
            sys.exit(1)


#######################################################################
Пример #5
0
            yeslabel='[B]Retry Install[/B]')
        wiz.clearS('build')
        FAILED = True
        if yes:
            wiz.ebi("PlayMedia(plugin://%s/?mode=install&name=%s&url=fresh)" %
                    (ADDON_ID, urllib.quote_plus(BUILDNAME)))
            wiz.log("[Installed Check] Fresh Install Re-activated",
                    xbmc.LOGNOTICE)
        else:
            wiz.log("[Installed Check] Reinstall Ignored")
    elif SKIN in ['skin.confluence', 'skin.estuary']:
        wiz.log("[Installed Check] Incorrect skin: %s" % SKIN, xbmc.LOGNOTICE)
        defaults = wiz.getS('defaultskin')
        if not defaults == '':
            if os.path.exists(ADDONS, defaults):
                skinSwitch.swapSkins(defaults)
                x = 0
                xbmc.sleep(1000)
                while not xbmc.getCondVisibility(
                        "Window.isVisible(yesnodialog)") and x < 150:
                    x += 1
                    xbmc.sleep(200)

                if xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
                    wiz.ebi('SendClick(11)')
                    wiz.lookandFeelData('restore')
        if not wiz.currSkin() == defaults:
            gui = wiz.checkBuild(BUILDNAME, 'gui')
            FAILED = True
            if gui == 'http://':
                wiz.log("[Installed Check] Guifix was set to http://",
Пример #6
0
def checkSkin():
    wiz.log("[Wizard] Skin no localizado")
    DEFAULTSKIN = wiz.getS('defaultskin')
    DEFAULTNAME = wiz.getS('defaultskinname')
    DEFAULTIGNORE = wiz.getS('defaultskinignore')
    gotoskin = False
    if not DEFAULTSKIN == '':
        if os.path.exists(os.path.join(ADDONS, DEFAULTSKIN)):
            if DIALOG.yesno(
                    ADDONTITLE,
                    "[COLOR %s]Parece que el skin se ha establecido de nuevo a [COLOR %s]%s[/COLOR]"
                    % (COLOR2, COLOR1, SKIN[5:].title()),
                    "Le gustaria volver a configurar el skin:[/COLOR]",
                    '[COLOR %s]%s[/COLOR]' % (COLOR1, DEFAULTNAME)):
                gotoskin = DEFAULTSKIN
                gotoname = DEFAULTNAME
            else:
                wiz.log("El skin no se reinicio", xbmc.LOGNOTICE)
                wiz.setS('defaultskinignore', 'true')
                gotoskin = False
        else:
            wiz.setS('defaultskin', '')
            wiz.setS('defaultskinname', '')
            DEFAULTSKIN = ''
            DEFAULTNAME = ''
    if DEFAULTSKIN == '':
        skinname = []
        skinlist = []
        for folder in glob.glob(os.path.join(ADDONS, 'skin.*/')):
            xml = "%s/addon.xml" % folder
            if os.path.exists(xml):
                f = open(xml, mode='r')
                g = f.read().replace('\n', '').replace('\r',
                                                       '').replace('\t', '')
                f.close()
                match = wiz.parseDOM(g, 'addon', ret='id')
                match2 = wiz.parseDOM(g, 'addon', ret='name')
                wiz.log("%s: %s" % (folder, str(match[0])), xbmc.LOGNOTICE)
                if len(match) > 0:
                    skinlist.append(str(match[0]))
                    skinname.append(str(match2[0]))
                else:
                    wiz.log("ID not found for %s" % folder, xbmc.LOGNOTICE)
            else:
                wiz.log("ID not found for %s" % folder, xbmc.LOGNOTICE)
        if len(skinlist) > 0:
            if len(skinlist) > 1:
                if DIALOG.yesno(
                        ADDONTITLE,
                        "[COLOR %s]Parece que el skin se ha establecido de nuevo a [COLOR %s]%s[/COLOR]"
                        % (COLOR2, COLOR1, SKIN[5:].title()),
                        "Le gustaria ver una lista de los skin disponibles?[/COLOR]"
                ):
                    choice = DIALOG.select("Seleccione el skin para cambiar",
                                           skinname)
                    if choice == -1:
                        wiz.log("El skin no se reinicio", xbmc.LOGNOTICE)
                        wiz.setS('defaultskinignore', 'true')
                    else:
                        gotoskin = skinlist[choice]
                        gotoname = skinname[choice]
                else:
                    wiz.log("El skin no se reinicio", xbmc.LOGNOTICE)
                    wiz.setS('defaultskinignore', 'true')
            else:
                if DIALOG.yesno(
                        ADDONTITLE,
                        "[COLOR %s]Parece que el skin se ha establecido de nuevo a [COLOR %s]%s[/COLOR]"
                        % (COLOR2, COLOR1, SKIN[5:].title()),
                        "Le gustaria volver a configurar el skin:[/COLOR]",
                        '[COLOR %s]%s[/COLOR]' % (COLOR1, skinname[0])):
                    gotoskin = skinlist[0]
                    gotoname = skinname[0]
                else:
                    wiz.log("El skin no se reinicio", xbmc.LOGNOTICE)
                    wiz.setS('defaultskinignore', 'true')
        else:
            wiz.log("No se encontraron skins en la carpeta de complementos.",
                    xbmc.LOGNOTICE)
            wiz.setS('defaultskinignore', 'true')
            gotoskin = False
    if gotoskin:
        skinSwitch.swapSkins(gotoskin)
        x = 0
        xbmc.sleep(1000)
        while not xbmc.getCondVisibility(
                "Window.isVisible(yesnodialog)") and x < 150:
            x += 1
            xbmc.sleep(200)

        if xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
            wiz.ebi('SendClick(11)')
            wiz.lookandFeelData('restore')
        else:
            wiz.LogNotify("[COLOR %s]%s[/COLOR]" % (COLOR1, ADDONTITLE),
                          '[COLOR %s]Tiempo agotato[/COLOR]' % COLOR2)
    wiz.log("[Build Check] Skin Error", xbmc.LOGNOTICE)
Пример #7
0
		FAILED = True
	elif not EXTRACT == '100' and not BUILDNAME == "":
		wiz.log("[Installed Check] Build was extracted %s/100 with [ERRORS: %s]" % (EXTRACT, EXTERROR), xbmc.LOGNOTICE)
		yes=DIALOG.yesno(ADDONTITLE, '[COLOR %s]%s[/COLOR] [COLOR %s]was not installed correctly!' % (COLOR1, COLOR2, BUILDNAME), 'Installed: [COLOR %s]%s[/COLOR] / Error Count: [COLOR %s]%s[/COLOR]' % (COLOR1, EXTRACT, COLOR1, EXTERROR), 'Would you like to try again?[/COLOR]', nolabel='[B]No Thanks![/B]', yeslabel='[B]Retry Install[/B]')
		wiz.clearS('build')
		FAILED = True
		if yes: 
			wiz.ebi("PlayMedia(plugin://%s/?mode=install&name=%s&url=fresh)" % (ADDON_ID, urllib.quote_plus(BUILDNAME)))
			wiz.log("[Installed Check] Fresh Install Re-activated", xbmc.LOGNOTICE)
		else: wiz.log("[Installed Check] Reinstall Ignored")
	elif SKIN in ['skin.confluence', 'skin.estuary']:
		wiz.log("[Installed Check] Incorrect skin: %s" % SKIN, xbmc.LOGNOTICE)
		defaults = wiz.getS('defaultskin')
		if not defaults == '':
			if os.path.exists(os.path.join(ADDONS, defaults)):
				skinSwitch.swapSkins(defaults)
				x = 0
				xbmc.sleep(1000)
				while not xbmc.getCondVisibility("Window.isVisible(yesnodialog)") and x < 150:
					x += 1
					xbmc.sleep(200)

				if xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
					wiz.ebi('SendClick(11)')
					wiz.lookandFeelData('restore')
		if not wiz.currSkin() == defaults and not BUILDNAME == "":
			gui = wiz.checkBuild(BUILDNAME, 'gui')
			FAILED = True
			if gui == 'http://':
				wiz.log("[Installed Check] Guifix was set to http://", xbmc.LOGNOTICE)
				DIALOG.ok(ADDONTITLE, "[COLOR %s]It looks like the skin settings was not applied to the build." % COLOR2, "Sadly no gui fix was attatched to the build", "You will need to reinstall the build and make sure to do a force close[/COLOR]")
Пример #8
0
def checkSkin():
    wiz.log("[Build Check] Invalid Skin Check Start")
    DEFAULTSKIN = wiz.getS('defaultskin')
    DEFAULTNAME = wiz.getS('defaultskinname')
    DEFAULTIGNORE = wiz.getS('defaultskinignore')
    if not DEFAULTSKIN == '':
        if os.path.exists(os.path.join(ADDONS, DEFAULTSKIN)):
            if DIALOG.yesno(
                    ADDONTITLE,
                    "It seems that the skin has been set back to [COLOR yellow]%s[/COLOR]"
                    % SKIN[5:].title(),
                    "Would you like to set the skin back to:",
                    '[COLOR yellow]%s[/COLOR]' % DEFAULTNAME):
                gotoskin = DEFAULTSKIN
                gotoname = DEFAULTNAME
            else:
                wiz.log("Skin was not reset")
                wiz.setS('defaultskinignore', 'true')
        else:
            wiz.setS('defaultskin', '')
            wiz.setS('defaultskinname', '')
            DEFAULTSKIN = ''
            DEFAULTNAME = ''
    if DEFAULTSKIN == '':
        skinname = []
        skinlist = []
        for folder in glob.glob(os.path.join(ADDONS, 'skin.*/')):
            xml = "%s/addon.xml" % folder
            if os.path.exists(xml):
                f = open(xml, mode='r')
                g = f.read().replace('\n', '').replace('\r',
                                                       '').replace('\t', '')
                f.close()
                match = re.compile('<addon.+?id="(.+?)".+?>').findall(g)
                match2 = re.compile('<addon.+?name="(.+?)".+?>').findall(g)
                wiz.log("%s: %s" % (folder, str(match[0])))
                if len(match) > 0:
                    skinlist.append(str(match[0]))
                    skinname.append(str(match2[0]))
                else:
                    wiz.log("ID not found for %s" % folder)
            else:
                wiz.log("ID not found for %s" % folder)
        if len(skinlist) > 0:
            if len(skinlist) > 1:
                if DIALOG.yesno(
                        ADDONTITLE,
                        "It seems that the skin has been set back to [COLOR yellow]%s[/COLOR]"
                        % SKIN[5:].title(),
                        "Would you like to view a list of avaliable skins?"):
                    choice = DIALOG.select("Select skin to switch to!",
                                           skinname)
                    if choice == -1:
                        wiz.log("Skin was not reset")
                        wiz.setS('defaultskinignore', 'true')
                    else:
                        gotoskin = skinlist[choice]
                        gotoname = skinname[choice]
                else:
                    wiz.log("Skin was not reset")
                    wiz.setS('defaultskinignore', 'true')
            else:
                if DIALOG.yesno(
                        ADDONTITLE,
                        "It seems that the skin has been set back to [COLOR yellow]%s[/COLOR]"
                        % SKIN[5:].title(),
                        "Would you like to set the skin back to:",
                        '[COLOR yellow]%s[/COLOR]' % skinname[0]):
                    gotoskin = skinlist[0]
                    gotoname = skinname[0]
                else:
                    wiz.log("Skin was not reset")
                    wiz.setS('defaultskinignore', 'true')
        else:
            wiz.log("No skins found in addons folder.")
            wiz.setS('defaultskinignore', 'true')
    if gotoskin:
        skinSwitch.swapSkins(gotoskin)
        x = 0
        xbmc.sleep(1000)
        while not xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
            if x == 150:
                break
            x += 1
            xbmc.sleep(200)

        if xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
            xbmc.executebuiltin('SetFocus(11)')
            xbmc.executebuiltin('Action(Select)')
            wiz.LogNotify("Skin Swap", 'Skin reset to %s' % gotoname)
        else:
            wiz.LogNotify(ADDONTITLE,
                          '[COLOR red]Skin Swap Timed Out![/COLOR]')
    wiz.log("[Build Check] Invalid Skin Check End")
Пример #9
0
def checkSkin():
    wiz.log("[Build Check] Invalid Skin Check Start")
    DEFAULTSKIN = wiz.getS('defaultskin')
    DEFAULTNAME = wiz.getS('defaultskinname')
    DEFAULTIGNORE = wiz.getS('defaultskinignore')
    gotoskin = False
    if not DEFAULTSKIN == '':
        if os.path.exists(os.path.join(ADDONS, DEFAULTSKIN)):
            if DIALOG.yesno(
                    ADDONTITLE,
                    "[COLOR %s]Es scheint der Skin wurde zuruck gesetzt auf [COLOR %s]%s[/COLOR]"
                    % (COLOR2, COLOR1, SKIN[5:].title()),
                    "Willst du den Skin zuruck setzten auf:[/COLOR]",
                    '[COLOR %s]%s[/COLOR]' % (COLOR1, DEFAULTNAME)):
                gotoskin = DEFAULTSKIN
                gotoname = DEFAULTNAME
            else:
                wiz.log("Skin was not reset", xbmc.LOGNOTICE)
                wiz.setS('defaultskinignore', 'true')
                gotoskin = False
        else:
            wiz.setS('defaultskin', '')
            wiz.setS('defaultskinname', '')
            DEFAULTSKIN = ''
            DEFAULTNAME = ''
    if DEFAULTSKIN == '':
        skinname = []
        skinlist = []
        for folder in glob.glob(os.path.join(ADDONS, 'skin.*/')):
            xml = "%s/addon.xml" % folder
            if os.path.exists(xml):
                f = open(xml, mode='r')
                g = f.read().replace('\n', '').replace('\r',
                                                       '').replace('\t', '')
                f.close()
                match = wiz.parseDOM(g, 'addon', ret='id')
                match2 = wiz.parseDOM(g, 'addon', ret='name')
                wiz.log("%s: %s" % (folder, str(match[0])), xbmc.LOGNOTICE)
                if len(match) > 0:
                    skinlist.append(str(match[0]))
                    skinname.append(str(match2[0]))
                else:
                    wiz.log("ID not found for %s" % folder, xbmc.LOGNOTICE)
            else:
                wiz.log("ID not found for %s" % folder, xbmc.LOGNOTICE)
        if len(skinlist) > 0:
            if len(skinlist) > 1:
                if DIALOG.yesno(
                        ADDONTITLE,
                        "[COLOR %s]Es scheint der Skin wurde zuruck gesetzt auf [COLOR %s]%s[/COLOR]"
                        % (COLOR2, COLOR1, SKIN[5:].title()),
                        "Willst du eine Liste aller Skins sehen?[/COLOR]"):
                    choice = DIALOG.select("Wahle Skin aus!", skinname)
                    if choice == -1:
                        wiz.log("Skin was not reset", xbmc.LOGNOTICE)
                        wiz.setS('defaultskinignore', 'true')
                    else:
                        gotoskin = skinlist[choice]
                        gotoname = skinname[choice]
                else:
                    wiz.log("Skin was not reset", xbmc.LOGNOTICE)
                    wiz.setS('defaultskinignore', 'true')
            else:
                if DIALOG.yesno(
                        ADDONTITLE,
                        "[COLOR %s]Es scheint der Skin wurde zuruck gesetzt auf [COLOR %s]%s[/COLOR]"
                        % (COLOR2, COLOR1, SKIN[5:].title()),
                        "Willst du den Skin zuruck setzten auf:[/COLOR]",
                        '[COLOR %s]%s[/COLOR]' % (COLOR1, skinname[0])):
                    gotoskin = skinlist[0]
                    gotoname = skinname[0]
                else:
                    wiz.log("Skin was not reset", xbmc.LOGNOTICE)
                    wiz.setS('defaultskinignore', 'true')
        else:
            wiz.log("No skins found in addons folder.", xbmc.LOGNOTICE)
            wiz.setS('defaultskinignore', 'true')
            gotoskin = False
    if gotoskin:
        skinSwitch.swapSkins(gotoskin)
        x = 0
        xbmc.sleep(1000)
        while not xbmc.getCondVisibility(
                "Window.isVisible(yesnodialog)") and x < 150:
            x += 1
            xbmc.sleep(200)

        if xbmc.getCondVisibility("Window.isVisible(yesnodialog)"):
            wiz.ebi('SendClick(11)')
            wiz.lookandFeelData('restore')
        else:
            wiz.LogNotify("[COLOR %s]%s[/COLOR]" % (COLOR1, ADDONTITLE),
                          '[COLOR %s]Skin Wechsel Timed Out![/COLOR]' % COLOR2)
    wiz.log("[Build Check] Invalid Skin Check End", xbmc.LOGNOTICE)