示例#1
0
def setWindowColorsDark(dark=None,view=None):
	if dark == None:
		dark = util.getSetting('window_colors_dark', False)
		for v in VIEW_TYPES:
			d = util.getSetting('window_colors_dark_%s' % v, False)
			dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_dark_%s' % v, d and '1' or '0')
			if d:
				dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_fore_%s' % v, 'FFFFFFFF')
				dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_back_%s' % v, 'FF000000')
			else:
				dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_fore_%s' % v, 'FF000000')
				dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_back_%s' % v, 'FFFFFFFF')
	elif view:
		util.setSetting('window_colors_dark_%s' % view, dark)
		dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_dark_%s' % view, dark and '1' or '0')
		if dark:
			dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_fore_%s' % view, 'FFFFFFFF')
			dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_back_%s' % view, 'FF000000')
		else:
			dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_fore_%s' % view, 'FF000000')
			dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_back_%s' % view, 'FFFFFFFF')
	else:
		util.setSetting('window_colors_dark', dark)
		
	dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_dark', dark and '1' or '0')
	if dark:
		dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_fore', 'FFFFFFFF')
		dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_back', 'FF000000')
	else:
		dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_fore', 'FF000000')
		dialogs.setGlobalSkinProperty('ForumBrowser_window_colors_back', 'FFFFFFFF')
示例#2
0
def installKeyboardMod(update=True,paths=None,change=False):
	paths = ensureLocalSkin(paths)
	if change:
		yes = True
	else:
		yes = xbmcgui.Dialog().yesno(T(32496),T(32497),T(32498))

	if yes:
		keyboardFile = chooseKeyboardFile(paths.fbPath,paths.currentSkin)
		if not keyboardFile: return True
		sourcePath = os.path.join(paths.fbPath,'keyboard',keyboardFile)
		LOG('Keyboard source path: %s' % sourcePath)
		copyKeyboardModImages(paths.localSkinPath)
		keyboardcontents = open(paths.dialogPath,'r').read()
		if not os.path.exists(paths.backupPath) or not 'Forum Browser' in keyboardcontents:
			LOG('Creating backup of original DialogKeyboard.xml file: ' + paths.backupPath)
			open(paths.backupPath,'w').write(open(paths.dialogPath,'r').read())

		if not 'Forum Browser' in keyboardcontents or update:
			LOG('Replacing DialogKeyboard.xml with: ' + sourcePath)
			os.remove(paths.dialogPath)
			open(paths.dialogPath,'w').write(open(sourcePath,'r').read())
		#if getSetting('FBIsRunning',True) and FBrunning:
		#	dialogs.showMessage(T(32052),'',T(32499) + '[CR][CR]' + T(32477))
		#else:
		dialogs.showMessage(T(32052),'',T(32499))
	else:
		setSetting('keyboard_installed',False)
		dialogs.showMessage(T(32483),T(32521),' ',T(32522))
	return True
示例#3
0
 def onPlayBackStarted(self):
     self.status('STARTED')
     if False and self.status.channel:
         util.DEBUG_LOG(
             'Saving successful channel number as last: {0}'.format(
                 self.status.channel.number))
         util.setSetting('last.channel', self.status.channel.number)
     self.owner.onPlayBackStarted()
示例#4
0
文件: main.py 项目: camster1/RTOTV
    def checkIfUpdated(self):
        lastAPILevel = util.getSetting('API.LEVEL',0)
        util.setSetting('API.LEVEL',API_LEVEL)

        if not lastAPILevel:
            return self.firstRun()
        elif lastAPILevel < 2:
            util.showTextDialog('Info',util.T(32100))
示例#5
0
def keyboardInstalled(paths=None):
	paths = paths or getPaths()
	if os.path.exists(paths.dialogPath):
		keyboardcontents = open(paths.dialogPath,'r').read()
		if 'Forum Browser' in keyboardcontents:
			LOG('Keyboard mod detected')
			setSetting('keyboard_installed',True)
			return True
	return False
示例#6
0
def checkKBModRemove(skinPath):
		backupPath = getSkinFilePath(skinPath,'DialogKeyboard.xml.FBbackup')
		dialogPath = getSkinFilePath(skinPath,'DialogKeyboard.xml')
		if backupPath and dialogPath:
			xbmcvfs.delete(dialogPath)
			xbmcvfs.rename(backupPath,dialogPath)
			setSetting('keyboard_installed',False)
			dialogs.showMessage(T(32476),T(32476),' ',T(32477))
			return True
示例#7
0
 def onPlayBackFailed(self):
     source = self.status.nextSource()
     if source:
         util.DEBUG_LOG('Playing from NEXT source: {0}'.format(source.ID))
         self.play(source.url, self.status.item, self.touchMode, 0)
         return True
     else:
         util.setSetting('last.channel', '')
         self.status.reset()
         self.owner.onPlayBackFailed()
         return True
示例#8
0
def toggleFontInstallation():
	if fontInstalled():
		yes = dialogs.dialogYesNo(T(32466),T(32588),'',T(32466))
		if yes:
			unInstallFont()
			setSetting('font_installed',False)
	else:
		yes = dialogs.dialogYesNo(T(32482),T(32589),'',T(32482))
		if yes:
			installFont()
			setSetting('font_installed',True)
示例#9
0
def setWindowSlideUp(up=None,view=None):
	if up == None:
		up = util.getSetting('window_slide_up', False)
		for v in VIEW_TYPES:
			u = util.getSetting('window_slide_up_%s' % v, False)
			dialogs.setGlobalSkinProperty('ForumBrowser_window_slide_up_%s' % v, u and '1' or '0')
	else:
		if view:
			util.setSetting('window_slide_up_%s' % view, up)
			dialogs.setGlobalSkinProperty('ForumBrowser_window_slide_up_%s' % view, up and '1' or '0')
		util.setSetting('window_slide_up', up)
	dialogs.setGlobalSkinProperty('ForumBrowser_window_slide_up', up and '1' or '0')
示例#10
0
def setWindowSelectionColors(color=None,view=None):
	if not color:
		for v in VIEW_TYPES:
			sc = util.getSetting('selection_color_%s' % v, '802080FF')
			v_nf = dialogs.binascii.hexlify(chr(int(ord(dialogs.binascii.unhexlify(sc[:2])) / 4))) + sc[2:]
			dialogs.setGlobalSkinProperty('ForumBrowser_selection_color_%s' % v,sc)
			dialogs.setGlobalSkinProperty('ForumBrowser_selection_color_nofocus_%s' % v,v_nf)
	else:
		util.setSetting('selection_color_%s' % view, color)
		color_nf = dialogs.binascii.hexlify(chr(int(ord(dialogs.binascii.unhexlify(color[:2])) / 4))) + color[2:]
		dialogs.setGlobalSkinProperty('ForumBrowser_selection_color_%s' % view,color)
		dialogs.setGlobalSkinProperty('ForumBrowser_selection_color_nofocus_%s' % view,color_nf)
示例#11
0
	def onAction(self,action):
		try:
			pct = self.slider.getPercent()
			val = hex(int((pct/100.0)*255))[2:].upper()
			setGlobalSkinProperty('ForumBrowser_window_background_fade_white_%s' % self.viewType,val + 'FFFFFF')
			setGlobalSkinProperty('ForumBrowser_window_background_fade_black_%s' % self.viewType,val + '000000')
			if action == 92 or action == 10 or action == 7:
				util.setSetting('background_fade_%s' % self.viewType, pct)
			if action == 7: self.close()
		except:
			util.ERROR('ERROR')

		BaseDialog.onAction(self,action)
示例#12
0
def setWindowBackgroundImage(image=None,view=None,clear=False,save=True):
	if clear:
		util.setSetting('window_background_%s' % view, '')
		dialogs.setGlobalSkinProperty('ForumBrowser_window_background_%s' % view,'')
		return
	if view == None:
		for v in VIEW_TYPES:
			i = util.getSetting('window_background_%s' % v,'')
			dialogs.setGlobalSkinProperty('ForumBrowser_window_background_%s' % v,i)
	else:
		if not image: image = util.getSetting('window_background_%s' % view,'')
		if save: util.setSetting('window_background_%s' % view, image)
		dialogs.setGlobalSkinProperty('ForumBrowser_window_background_%s' % view,image)
示例#13
0
    def sort(self,key):
        if self.sortMode == key:
            self.sortASC = not self.sortASC
        else:
            self.sortASC = True

        self.sortMode = key

        util.setSetting('episodes.sort.mode',key)
        util.setSetting('episodes.sort.asc',self.sortASC)

        self.setWindowProperties()

        self.sortItems(self.recordingList)
示例#14
0
def fontInstalled(paths=None):
	paths = paths or getPaths()

	font = os.path.join(paths.skinPath,'fonts','ForumBrowser-DejaVuSans.ttf')
	installed = False
	if os.path.exists(font):
		if Version(paths.versionLocal) >= Version(paths.versionUsed):
			if os.path.exists(paths.fontPath):
				contents = open(paths.fontPath,'r').read()
				if 'Forum Browser' in contents:
					LOG('Fonts mod detected')
					installed = True
	setSetting('font_installed',installed)
	return installed
示例#15
0
 def playChannel(self, channel):
     url = channel.sources[0].url
     util.DEBUG_LOG('Playing from source: {0}'.format(
         channel.sources[0].ID))
     title = u'{0} - {1}'.format(channel.number, channel.name)
     item = xbmcgui.ListItem(title, thumbnailImage=channel.guide.icon)
     info = {
         'Title': title,
         #'Plot':   currentShow.synopsis,
         'Studio': channel.guide.affiliate
     }
     item.setInfo('video', info)
     util.setSetting('last.channel', channel.number)
     self.status('NOT_STARTED', channel, item)
     args = self.getArgs()
     self.play(url + args, item, self.touchMode, 0)
示例#16
0
def selectSetting(settingName, options):

    T = xbmcaddon.Addon(util.ADDON_ID).getLocalizedString

    if not options:
        xbmcgui.Dialog().ok(T(32153), T(32152))
        return

    ids = []
    displays = []
    for ID, display in options:
        ids.append(ID)
        displays.append(display)

    chosenIndex = xbmcgui.Dialog().select(T(32151), displays)

    if chosenIndex < 0:
        return
    choice = ids[chosenIndex]

    util.DEBUG("Setting {} set to: {}".format(settingName, choice))
    util.setSetting("{}".format(settingName), choice)
示例#17
0
def chooseKeyboardFile(fbPath,currentSkin):
	files = os.listdir(os.path.join(fbPath,'keyboard'))
	skins = []
	for f in files:
		if f.startswith('DialogKeyboard-'):
			skinName = f.split('-',1)[-1].rsplit('.',1)[0].lower()
			if skinName in currentSkin.lower() or skinName == 'generic' or skinName == 'video': skins.append(skinName.title())
	remove = None
	if keyboardInstalled():
		remove = len(skins)
		skins.append('Remove')
	idx = xbmcgui.Dialog().select(T(32523),skins)
	if idx < 0: return None
	if remove and idx == remove:
		checkKBModRemove(getPaths().skinPath)
		if not keyboardInstalled():
			setSetting('keyboard_installed',False) #Checks and resets the installed setting
			setSetting('current_keyboard_mod','')
		return None
	skin = skins[idx]
	setSetting('current_keyboard_mod',skin)
	return 'DialogKeyboard-%s.xml' % skin.lower()
示例#18
0
def signout():
    util.setSetting('auth.token', '')
    util.DEBUG_LOG('Main: Signing out...disabled by mark')
示例#19
0
    def doMenu(self):
        selected = self.pushList.getSelectedPosition()
        options = []
        if self.viewMode != "ALL":
            options.append(("show_all", T(32056)))
        if self.viewMode != "SELF":
            options.append(("show_self", T(32057)))
        options.append(("show_device", T(32058)))
        if selected >= 0:
            push = self.pushes[selected]
            if push.get("type") in ("file", "link"):
                options.append(("download", T(32059)))
            options.append(("delete", T(32060)))
        idx = xbmcgui.Dialog().select(T(32061), [o[1] for o in options])
        if idx < 0:
            return
        choice = options[idx][0]

        if choice == "download":
            import os

            d = util.Downloader()
            targetDir = os.path.join(xbmc.translatePath(util.ADDON.getAddonInfo("profile")), "temp")
            if not os.path.exists(targetDir):
                os.makedirs(targetDir)
            finalTargetDir = d.chooseDirectory()
            if not finalTargetDir:
                return

            url = push.get("url")
            if push.get("type") == "link":
                vid = StreamExtractor.getVideoInfo(url)
                if vid:
                    return d.youtubeDLDownload(vid, targetDir, finalTargetDir)
            elif push.get("type") == "file":
                url = push.get("file_url")

            fname, ftype = d.downloadURL(targetDir, url, fname=push.get("file_name"), final_target_dir=finalTargetDir)
            if fname:
                xbmcgui.Dialog().ok(T(32062), "{0}:".format(T(32063)), "[CR]", fname)
            else:
                xbmcgui.Dialog().ok(T(32064), "[CR]", T(32064))

        elif choice == "delete":
            # set last selected to the item above, or the item below if we are at the top
            closest = selected - 1
            if closest < 0:
                self.lastSelected = None
            else:
                self.lastSelected = self.pushes[closest].get("iden")

            self.client.deletePush(push)
            self.onInit()
        elif choice == "show_all":
            self.viewMode = "ALL"
            self.onInit()
        elif choice == "show_self":
            self.viewMode = "SELF"
            self.onInit()
        elif choice == "show_device":
            deviceID = selectDevice(self.client)
            if not deviceID:
                return
            self.viewMode = deviceID
            self.onInit()
        util.setSetting("last_view_mode", self.viewMode)
示例#20
0
def applyNetworkSettings ():

    interface = util.getSetting('interface')
    essid = util.getSetting('essid')
    oldEssid = util.getSetting('old_essid')
    psk = util.getSetting('psk')
    encryption = util.getSetting('encryption')
    useDHCP = util.getSetting('dhcp')
    ipAddress = util.getSetting('ipaddress')
    subnetMask = util.getSetting('subnet')
    gateway = util.getSetting('gateway')

    util.DEBUG('interface={}, essid={}, encryption={}, psk={}, dhcp={}, ipaddress={}, subnetmask={}, gateway={}'.format (interface, essid, encryption, psk, useDHCP, ipAddress, subnetMask, gateway))
    util.DEBUG('old_essid={}, psk_backup={}'.format(oldEssid, util.getSetting('psk_backup')))

    localTempPath = '/tmp/'

    # 0 .. eth0
    # 1 .. wlan0

    interfaceName = ''
    if interface == '0':
        interfaceName = 'eth0'

        networkConfigPath = '/etc/systemd/network/'
        backupConfigPathFilename = '{}_backup_-{}._etwor_.backup'.format (networkConfigPath, interfaceName)
        configFilename = '{}.network'.format (interfaceName)
        localConfigPathFilename = '{}{}'.format (localTempPath, configFilename)
        networkConfigPathFilename = '{}{}'.format (networkConfigPath, configFilename)

        # create new config file...
        file = open (localConfigPathFilename, 'w')
        file.write ('[Match]\n')
        file.write ('Name={}\n'.format(interfaceName))
        file.write ('\n')
        file.write ('[Network]\n')

        # if DHCP -> start dhcp
        # else set fixed route
        if useDHCP.lower() == 'true':
            file.write ('DHCP=both\n')
        else:
            file.write ('DNS={}\n'.format(gateway))
            file.write ('Address={}/{}\n'.format(ipAddress, util.calcNetSize(subnetMask)))
            file.write ('Gateway={}\n'.format(gateway))
            pass

        file.write('\n')
        file.close()

        # backup and replace config file...
        try:
            util.execShell('sudo rm {}'.format (backupConfigPathFilename))
        except:
            util.DEBUG("removing of {} failed...".format(backupConfigPathFilename))

        try:
            util.execShell('sudo mv -v {} {}'.format (networkConfigPathFilename, backupConfigPathFilename))
        except:
            util.DEBUG("backing {} up to {} failed...".format(networkConfigPathFilename, backupConfigPathFilename))

        util.execShell('sudo mv -v {} {}'.format (localConfigPathFilename, networkConfigPathFilename))
        util.execShell('sudo chown -v root:root {}'.format (networkConfigPathFilename))

    else:
        interfaceName = 'wlan0'

        networkConfigPath = '/etc/netctl/'
        backupConfigPathFilename = '{}_backup_-{}-{}._backup'.format (networkConfigPath, interfaceName, essid)
        configFilename = '{}-{}'.format (interfaceName, essid)
        if oldEssid == "":
            oldConfigFilename = ''
        else:
            oldConfigFilename = '{}-{}'.format (interfaceName, oldEssid)
        localConfigPathFilename = '{}{}'.format (localTempPath, configFilename)
        networkConfigPathFilename = '{}{}'.format (networkConfigPath, configFilename)

        # create new config file...
        file = open (localConfigPathFilename, 'w')

        file.write ("Description='Created by script.module.netmgr'\n")
        file.write ("Interface={}\n".format(interfaceName))
        file.write ("Connection=wireless\n")

        security = 'none'
        if encryption == '1':
            security = 'wep'
        elif encryption == '2':
            security = 'wpa'
        file.write ("Security={}\n".format(security))
        file.write ("ESSID={}\n".format (essid))

        ip = 'dhcp'
        if useDHCP == 'false':
            ip = 'static'

        file.write ("IP={}\n".format(ip))

        if useDHCP == 'false':
            file.write("Address='{}/{}'\n".format(ipAddress, util.calcNetSize(subnetMask)))
            file.write("Gateway='{}'\n".format(gateway))
            file.write("DNS=('{}')\n".format(gateway))

        if encryption != '0':
            file.write ("Key={}\n".format(psk))

        file.write('\n')
        file.close()

        # Disable profile (just in case...)
        try:
            util.execShell('sudo systemctl reset-failed')
        except:
            util.DEBUG("call 'systemctl reset-failed' failed...".format(configFilename))

        try:
            util.execShell('sudo netctl disable {}'.format (configFilename))
        except:
            util.DEBUG("disabling of netctl {} failed...".format(configFilename))

        try:
            util.execShell('sudo netctl disable {}'.format (oldConfigFilename))
        except:
            util.DEBUG("disabling of netctl {} failed...".format(oldConfigFilename))

        # backup and replace config file...
        try:
            util.execShell('sudo rm {}'.format (backupConfigPathFilename))
        except:
            util.DEBUG("removing of {} failed...".format(backupConfigPathFilename))

        try:
            util.execShell('sudo mv -v {} {}'.format (networkConfigPathFilename, backupConfigPathFilename))
        except:
            util.DEBUG("backing {} up to {} failed...".format(networkConfigPathFilename, backupConfigPathFilename))

        util.execShell('sudo mv -v {} {}'.format (localConfigPathFilename, networkConfigPathFilename))
        util.execShell('sudo chown -v root:root {}'.format (networkConfigPathFilename))
        util.execShell('sudo chmod -v 600 {}'.format (networkConfigPathFilename))

        # util.execShell('sudo netctl start {}'.format (configFilename))
        util.execShell('sudo netctl enable {}'.format (configFilename))

        # save essid als old_essid
        util.setSetting('old_essid', essid)

    # save password
    util.setSetting("psk_backup", util.getSetting("psk"))
    # remove password from storage...
    util.setSetting("psk", "")

    # reboot the system
    util.execShell('sudo reboot')
示例#21
0
	def doMenu(self):
		selected = self.pushList.getSelectedPosition()
		options = []
		if self.viewMode != 'ALL':
			options.append(('show_all',T(32056)))
		if self.viewMode != 'SELF':
			options.append(('show_self',T(32057)))
		options.append(('show_device',T(32058)))
		if selected >= 0:
			push = self.pushes[selected]
			if push.get('type') in ('file','link'):
				options.append(('download',T(32059)))
			options.append(('delete',T(32060)))
		idx = xbmcgui.Dialog().select(T(32061),[o[1] for o in options])
		if idx < 0: return
		choice = options[idx][0]
		
		if choice == 'download':
			import os
			d = util.Downloader()
			targetDir = os.path.join(xbmc.translatePath(util.ADDON.getAddonInfo('profile')),'temp')
			if not os.path.exists(targetDir): os.makedirs(targetDir)
			finalTargetDir = d.chooseDirectory()
			if not finalTargetDir: return
			
			url = push.get('url')
			if push.get('type') == 'link':
				vid = StreamExtractor.getVideoInfo(url)
				if vid:
					return d.youtubeDLDownload(vid,targetDir,finalTargetDir)
			elif push.get('type') == 'file':
				url = push.get('file_url')

			fname, ftype = d.downloadURL(targetDir,url,fname=push.get('file_name'),final_target_dir=finalTargetDir)
			if fname:
				xbmcgui.Dialog().ok(T(32062),'{0}:'.format(T(32063)),'[CR]',fname)
			else:
				xbmcgui.Dialog().ok(T(32064),'[CR]',T(32064))

		elif choice == 'delete':
			#set last selected to the item above, or the item below if we are at the top
			closest = selected - 1
			if closest < 0:
				self.lastSelected = None
			else:
				self.lastSelected = self.pushes[closest].get('iden')

			self.client.deletePush(push)
			self.onInit()
		elif choice == 'show_all':
			self.viewMode = 'ALL'
			self.onInit()
		elif choice == 'show_self':
			self.viewMode = 'SELF'
			self.onInit()
		elif choice == 'show_device':
			deviceID = selectDevice(self.client)
			if not deviceID: return
			self.viewMode = deviceID
			self.onInit()
		util.setSetting('last_view_mode',self.viewMode)
示例#22
0
def alignChanged():
	if util.getSetting('current_right_align',False) != util.getSetting('last_right_align',False):
		util.setSetting('last_right_align',util.getSetting('current_right_align',False))
		return True
	return False
示例#23
0
def saveVersion(version):
    import util
    util.setSetting('core_version',version)
示例#24
0
 def setRegistry(self, reg, value, sec=None):
     util.setSetting('{0}.{1}'.format(sec, reg), value)
示例#25
0
def abortFlag():
    return util.MONITOR.abortRequested()


plexapp.setTimer(PlexTimer)
plexapp.setAbortFlagFunction(abortFlag)

maxVideoRes = plexapp.Res(
    (3840, 2160)
)  # INTERFACE.globals["supports4k"] and plexapp.Res((3840, 2160)) or plexapp.Res((1920, 1080))

CLIENT_ID = util.getSetting('client.ID')
if not CLIENT_ID:
    CLIENT_ID = str(uuid.uuid4())
    util.setSetting('client.ID', CLIENT_ID)


def defaultUserAgent():
    """Return a string representing the default user agent."""
    _implementation = platform.python_implementation()

    if _implementation == 'CPython':
        _implementation_version = platform.python_version()
    elif _implementation == 'PyPy':
        _implementation_version = '%s.%s.%s' % (sys.pypy_version_info.major,
                                                sys.pypy_version_info.minor,
                                                sys.pypy_version_info.micro)
        if sys.pypy_version_info.releaselevel != 'final':
            _implementation_version = ''.join(
                [_implementation_version, sys.pypy_version_info.releaselevel])
示例#26
0
    def doMenu(self):
        selected = self.pushList.getSelectedPosition()
        options = []
        if self.viewMode != 'ALL':
            options.append(('show_all', T(32056)))
        if self.viewMode != 'SELF':
            options.append(('show_self', T(32057)))
        options.append(('show_device', T(32058)))
        if selected >= 0:
            push = self.pushes[selected]
            if push.get('type') in ('file', 'link'):
                options.append(('download', T(32059)))
            options.append(('delete', T(32060)))
        idx = xbmcgui.Dialog().select(T(32061), [o[1] for o in options])
        if idx < 0: return
        choice = options[idx][0]

        if choice == 'download':
            import os
            d = util.Downloader()
            targetDir = os.path.join(
                xbmc.translatePath(util.ADDON.getAddonInfo('profile')), 'temp')
            if not os.path.exists(targetDir): os.makedirs(targetDir)
            finalTargetDir = d.chooseDirectory()
            if not finalTargetDir: return

            url = push.get('url')
            if push.get('type') == 'link':
                vid = StreamExtractor.getVideoInfo(url)
                if vid:
                    return d.youtubeDLDownload(vid, targetDir, finalTargetDir)
            elif push.get('type') == 'file':
                url = push.get('file_url')

            fname, ftype = d.downloadURL(targetDir,
                                         url,
                                         fname=push.get('file_name'),
                                         final_target_dir=finalTargetDir)
            if fname:
                xbmcgui.Dialog().ok(T(32062), '{0}:'.format(T(32063)), '[CR]',
                                    fname)
            else:
                xbmcgui.Dialog().ok(T(32064), '[CR]', T(32064))

        elif choice == 'delete':
            #set last selected to the item above, or the item below if we are at the top
            closest = selected - 1
            if closest < 0:
                self.lastSelected = None
            else:
                self.lastSelected = self.pushes[closest].get('iden')

            self.client.deletePush(push)
            self.onInit()
        elif choice == 'show_all':
            self.viewMode = 'ALL'
            self.onInit()
        elif choice == 'show_self':
            self.viewMode = 'SELF'
            self.onInit()
        elif choice == 'show_device':
            deviceID = selectDevice(self.client)
            if not deviceID: return
            self.viewMode = deviceID
            self.onInit()
        util.setSetting('last_view_mode', self.viewMode)
示例#27
0
def signout():
    util.setSetting('auth.token', '')
    util.DEBUG_LOG('Main: Signing out...')
    plexapp.ACCOUNT.signOut()
示例#28
0
文件: updater.py 项目: camster1/RTOTV
def saveVersion(version):
    import util
    util.setSetting('core_version', version)
示例#29
0
 def setPreference(self, pref, value):
     util.setSetting(pref, value)
示例#30
0
def saveAddonsMD5(md5):
    util.setSetting('addons_MD5', md5)
示例#31
0
 def clearRegistry(self, reg, sec=None):
     util.setSetting('{0}.{1}'.format(sec, reg), '')
示例#32
0
def saveAddonsMD5(md5):
    util.setSetting('addons_MD5',md5)