Example #1
0
	def buildList(self):
		printl("", self, "S")
		
		self.list=[]

		
		for entry in config.plugins.dreamplex.Entries:
			res = [entry]
			res.append((eListboxPythonMultiContent.TYPE_TEXT, 55, 0, 200, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, str(entry.name.value)))
			
			if entry.connectionType.value == "2":
				text1 = entry.myplexUrl.value
				text2 = entry.myplexUsername.value
			else:
				text1 = "%d.%d.%d.%d" % tuple(entry.ip.value)
				text2 = "%d"% entry.port.value
				
			res.append((eListboxPythonMultiContent.TYPE_TEXT, 260, 0, 150, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, str(text1)))
			res.append((eListboxPythonMultiContent.TYPE_TEXT, 450, 0, 80, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, str(text2)))
			self.list.append(res)
		
		
		self.l.setList(self.list)
		self.moveToIndex(0)
				
		printl("", self, "C")
Example #2
0
def getDefaultSettingsList():
	printl("", __name__, "S")

	settingsList = ["itemsPerPage", "apiLevel", "screen", "backdropVideos"]

	printl("", __name__, "C")
	return settingsList
Example #3
0
def registerSkinParamsInstance():
	printl("", "__init__::registerSkinParamsInstance", "S")

	configXml = getXmlContent("/usr/lib/enigma2/python/Plugins/Extensions/DreamPlex/skins/" + config.plugins.dreamplex.skin.value +"/params")
	Singleton().getSkinParamsInstance(configXml)

	printl("", "__init__::registerSkinParamsInstance", "C")
Example #4
0
	def seekToMinute(self, minutes):
		printl("", self, "S")

		self.resumeStamp = int(minutes)*60
		self.seekToStartPos()

		printl("", self, "C")   
Example #5
0
	def showNoDataMessage(self):
		printl("", self, "S")

		text = self.plexInstance.getLastErrorMessage()
		self.session.open(MessageBox,_("\n%s") % text, MessageBox.TYPE_INFO)

		printl("", self, "C")
	def right(self):
		printl("", self, "S")
		
		self["filelist"].pageDown()
		self.updateTarget()
		
		printl("", self, "C")
	def __init__(self, session, initDir, myType):
		printl("", self, "S")
		
		Screen.__init__(self, session)
		
		self.myType = myType
		inhibitDirs = ["/bin", "/boot", "/dev", "/etc", "/lib", "/proc", "/sbin", "/sys", "/usr", "/var"]
		inhibitMounts = []
		self["filelist"] = FileList(initDir, showFiles=False, inhibitMounts=inhibitMounts, inhibitDirs=inhibitDirs)
		self["target"] = Label()
		self["target"].setText(initDir)
		self["actions"] = ActionMap(["WizardActions", "DirectionActions", "ColorActions", "EPGSelectActions"],
		{
			"back": self.cancel,
			"left": self.left,
			"right": self.right,
			"up": self.up,
			"down": self.down,
			"ok": self.ok,
			"green": self.green,
			"red": self.cancel
			
		}, -1)
		self["key_red"] = StaticText(_("Cancel"))
		self["key_green"] = StaticText(_("OK"))
		
		printl("", self, "C")
Example #8
0
	def setPlayerData(self):
		printl("", self, "S")

		self.playbackData = self.playerData[self.currentIndex]
		self.videoData = self.playerData[self.currentIndex]['videoData']

		# not used for now
		#self.mediaData = self.playerData[self.currentIndex]['mediaData']

		# go through the data out of the function call
		self.resumeStamp = int(self.playbackData['resumeStamp']) / 1000 # plex stores seconds * 1000
		self.server = str(self.playbackData['server'])
		self.id = str(self.playbackData['id'])
		self.multiUserServer = self.playbackData['multiUserServer']
		self.url = str(self.playbackData['playUrl'])
		self.transcodingSession = str(self.playbackData['transcodingSession'])
		self.playbackType = str(self.playbackData['playbackType'])
		self.connectionType = str(self.playbackData['connectionType'])
		self.universalTranscoder = self.playbackData['universalTranscoder']
		self.localAuth = self.playbackData['localAuth']

		self.title = encodeThat(self.videoData['title'])
		self["shortDescription"].setText(encodeThat(self.videoData['summary']))

		printl("", self, "C")
Example #9
0
def getEpisodesViewDefaults():
	printl("", __name__, "S")
	params = {}

	params["settings"] = {}
	settingsList = getDefaultSettingsList()
	# mandatory items have to be defined or a assert error will come
	for setting in settingsList:
		params["settings"][setting] = "mandatory"

	params["elements"] = {}
	elementsList = getDefaultCineElementsList()

	# init elements
	for element in elementsList:
		params["elements"][element] = {}
		params["elements"][element]["visible"] = True

	# override default True
	params["elements"]["audio"]["visible"]                         = False
	params["elements"]["genre"]["visible"]                         = False
	params["elements"]["subtitles"]["visible"]                     = False

	# add addional params in elements
	params["elements"]["backdrop"]["height"]                       = "315"
	params["elements"]["backdrop"]["width"]                        = "560"
	params["elements"]["backdrop"]["postfix"]                      = "_backdrop.jpg"

	params["elements"]["poster"]["height"]                         = "268"
	params["elements"]["poster"]["width"]                          = "195"
	params["elements"]["poster"]["postfix"]                        = "_poster.jpg"

	printl("", __name__, "C")
	return params
Example #10
0
	def getPlayLength(self):
		printl("", self, "S")
		
		length = self.seek.getLength()
		
		printl("", self, "C")
		return length	
Example #11
0
	def left(self):
		printl("", self, "S")
		
		self["filelist"].pageUp()
		self.updateTarget()
		
		printl("", self, "C")
Example #12
0
	def postWidgetCreate(self, instance):
		printl("", self, "S")
		
		MenuList.postWidgetCreate(self, instance)
		instance.setItemHeight(20)

		printl("", self, "C")
Example #13
0
	def setAudioTrack(self):
		printl("", self, "S")
		if not self.switchedLanguage:
			try:
				service = self.session.nav.getCurrentService()
		
		
				tracks = service and self.getServiceInterface("audioTracks")
				nTracks = tracks and tracks.getNumberOfTracks() or 0
				
				if not nTracks:
					printl("no tracks found yet ... retrying later", self, "D")
					return
				
				self.nTracks = True
				trackList = []
				
				for i in xrange(nTracks):
					audioInfo = tracks.getTrackInfo(i)
					lang = audioInfo.getLanguage()
					printl("lang: " + str(lang), self, "D")
					trackList += [str(lang)]
				
				systemLanguage = language.getLanguage()[:2] # getLanguage returns e.g. "fi_FI" for "language_country"
				printl("found systemLanguage: " +  systemLanguage, self, "I")
				#systemLanguage = "en"
				
				self.tryAudioEnable(trackList, systemLanguage, tracks)
			
			except Exception, e:
				printl("audioTrack exception: " + str(e), self, "W") 
Example #14
0
	def onHide(self):
		printl("", self , "S")

		# We could close the still picutre here, but keep it open for a neatless expereience
		pass

		printl("", self, "C")
Example #15
0
	def translateNames(self):
		printl("", self, "S")

		for i in self.rangeList:
			self.translatePositionToName(int(i), str(i))

		printl("", self, "C")
Example #16
0
	def pollStart(self):
		printl("", self , "S")

		self.addEventTracker()
		self.poll_timer.start(500)

		printl("", self, "C")
Example #17
0
	def up(self):
		printl("", self, "S")
		
		self["filelist"].up()
		self.updateTarget()
		
		printl("", self, "C")
Example #18
0
	def abortUserConfiguration(self):
		printl("", self, "S")

		self.session.open(MessageBox,_("Adding new user was not completed"), MessageBox.TYPE_INFO)
		#self.close()

		printl("", self, "C")
Example #19
0
	def __init__(self, session, libraryName, loadLibrary, playEntry, viewName, select=None, sort=None, myFilter=None, cache=None):
		printl("", self , "S")

		self.session = session
		DP_ViewCine.__init__(self, session, libraryName, loadLibrary, playEntry, viewName, select, sort, myFilter, cache)

		printl("", self, "C")
Example #20
0
	def setEnigmaServiceId(self):
		printl("", self, "S")

		# check for playable services
		printl( "Checking for usable gstreamer service (builtin)... ",self, "I")

		# lets built the sref for the movieplayer out of the gathered information
		if self.url[:4] == "http": #this means we are in streaming mode so we will use sref 4097
			self.ENIGMA_SERVICE_ID = self.ENIGMA_SERVICEGS_ID

		elif self.url[-3:] == ".ts" or self.url[-4:] == ".iso": # seems like we have a real ts file ot a iso file so we will use sref 1
			self.ENIGMA_SERVICE_ID = self.ENIGMA_SERVICETS_ID

		elif self.url[-5:] == ".m2ts":
			self.ENIGMA_SERVICE_ID = self.ENIGMA_SERVIDEM2_ID

		else: # if we have a real file but no ts but for eg mkv we will use sref 4097
			if self.isValidServiceId(self.ENIGMA_SERVICEGS_ID):
				printl("we are able to stream over 4097", self, "I")
				self.ENIGMA_SERVICE_ID = self.ENIGMA_SERVICEGS_ID
			else:
				raise Exception

		printl("self.ENIGMA_SERVICE_ID = " + str(self.ENIGMA_SERVICE_ID), self, "I")

		printl("", self, "C")
Example #21
0
	def event(self, myType):
		printl("", self , "S")

		if myType == iPlayableService.evEOF:
			self.__evEOF()

		printl("", self, "C")
Example #22
0
	def showStillpicture(self, pic):
		printl("", self , "S")

		if self.ctypes is not None:
			self.ctypes.call_function(self.showSinglePic, (pic, ))

		printl("", self, "C")
Example #23
0
	def finishStillPicture(self):
		printl("", self , "S")

		if self.ctypes is not None and self.finishShowSinglePic is not None:
			self.ctypes.call_function(self.finishShowSinglePic, ())

		printl("", self, "C")
Example #24
0
	def unPauseService(self):
		printl("", self, "S")

		self.hide()
		self.setSeekState(self.SEEK_STATE_PLAY)

		printl("", self, "S")
Example #25
0
	def setXmlHeader(self, xml):
		printl("", self, "S")

		self.send_header('Content-type', 'text/xml; charset="utf-8"')
		self.send_header('Content-Length', str(len(xml)))

		printl("", self, "S")
Example #26
0
	def pollStop(self):
		printl("", self , "S")

		self.removeEventTracker()
		self.poll_timer.stop()

		printl("", self, "C")
Example #27
0
	def down(self):
		printl("", self, "S")
		
		self["filelist"].down()
		self.updateTarget()
		
		printl("", self, "C")
Example #28
0
	def refreshMenu(self):
		printl("", self, "S")

		if self.g_horizontal_menu:
			self.refreshOrientationHorMenu(0)

		printl("", self, "C")
Example #29
0
	def keyRight(self):
		printl("", self, "S")
		
		ConfigListScreen.keyRight(self)
		self.createSetup()
		
		printl("", self, "C")
Example #30
0
    def getText(self):
        printl("", self, "S")

        content = ""
        content += "Information\n\n"
        content += "DreamPlex - a plex client for Enigma2 \n"
        content += "Version: \t" + getVersion() + "\n\n"
        content += "Autor: \t DonDavici\n"
        content += "\n"
        content += "Contributors: \t wezhunter\n"
        content += "\t andyblac \n"
        content += "\n"
        content += "Skinner: \t IPMAN\n"
        content += "\n\nIf you like my work you can buy me a beer :-) \n\[email protected]"

        printl("", self, "C")
        return content
Example #31
0
    def setStillPicture(self,
                        value,
                        default=False,
                        refresh=True,
                        isLoop=False):
        printl("", self, "S")

        if default is True:
            self.stillpictureDefault = config.plugins.dreamplex.mediafolderpath.value + "/bootlogo.m1v"

        if self.stillpicture != value:
            self.stillpicture = value
            self.isLoop = isLoop
            if refresh is True:
                self.changed()

        printl("", self, "C")
Example #32
0
    def buildPlayerData(self, mediaFileUrl):
        printl("", self, "S")

        Singleton().getPlexInstance().setPlaybackType(str(self.playbackMode))

        if self.isExtraData:
            Singleton().getPlexInstance().setPlaybackType(str(1))

        self.playerData[self.currentIndex] = Singleton().getPlexInstance(
        ).playLibraryMedia(self.media_id, mediaFileUrl)

        # populate addional data
        self.setPlayerData()

        self.playSelectedMedia()

        printl("", self, "C")
Example #33
0
    def askForPin(self, enteredPin):
        printl("", self, "S")

        if enteredPin is None:
            pass
        else:
            if int(enteredPin) == int(self.current.settingsPin.value):
                #self.session.open(MessageBox,"The pin was correct!", MessageBox.TYPE_INFO)
                self.authenticated = True
                self.createSetup()
            else:
                self.session.open(MessageBox,
                                  "The pin was wrong! Returning ...",
                                  MessageBox.TYPE_INFO)
                self.close()

        printl("", self, "C")
Example #34
0
    def __init__(self, session, initDir, myType):
        printl("", self, "S")

        Screen.__init__(self, session)
        DPH_PlexScreen.__init__(self)

        self.guiElements = getGuiElements()

        self.myType = myType
        inhibitDirs = [
            "/bin", "/boot", "/dev", "/etc", "/lib", "/proc", "/sbin", "/sys",
            "/usr", "/var"
        ]
        inhibitMounts = []
        self["filelist"] = FileList(initDir,
                                    showFiles=False,
                                    inhibitMounts=inhibitMounts,
                                    inhibitDirs=inhibitDirs)
        self["target"] = Label()
        self["target"].setText(initDir)
        self["actions"] = ActionMap(
            [
                "WizardActions", "DirectionActions", "ColorActions",
                "EPGSelectActions"
            ], {
                "back": self.cancel,
                "left": self.left,
                "right": self.right,
                "up": self.up,
                "down": self.down,
                "ok": self.ok,
                "green": self.green,
                "red": self.cancel
            }, -1)

        self["targetText"] = Label()

        self["btn_red"] = Pixmap()
        self["btn_redText"] = Label()

        self["btn_green"] = Pixmap()
        self["btn_greenText"] = Label()

        self.onLayoutFinish.append(self.finishLayout)

        printl("", self, "C")
Example #35
0
	def getDefault(self):
		printl("", self, "S")
		
		try:
			fd = open(self.defaultPickle, "rb")
			default = pickle.load(fd)
			fd.close()
		except:
			default = {
			"view": self.currentViewIndex, 
			"selection": None, 
			"sort": None, 
			"filter": None, 
		}
		
		printl("", self, "C")
		return default
Example #36
0
    def timelineWatcher(self, stop_event, wait_event):
        printl("", self, "S")

        while not stop_event.is_set():
            while not wait_event.is_set():
                ret = self.updateTimeline()
                if ret:
                    wait_event.wait(3)
                    continue
                else:
                    wait_event.wait(3)
                    break

            stop_event.wait(1)
            continue

        printl("", self, "C")
Example #37
0
    def __init__(self,
                 session,
                 libraryName,
                 loadLibrary,
                 playEntry,
                 viewName,
                 select=None,
                 sort=None,
                 myFilter=None,
                 cache=None):
        printl("", self, "S")

        self.session = session
        DP_View.__init__(self, session, libraryName, loadLibrary, playEntry,
                         viewName, select, sort, myFilter, cache)

        printl("", self, "C")
Example #38
0
	def getServerData(self, filterBy=None):
		printl("", self, "S")

		if config.plugins.dreamplex.summerizeSections.value and filterBy is None:
			serverData = self.plexInstance.getSectionTypes()
		else:
			serverData = self.plexInstance.getAllSections(filterBy)

		if not serverData:
			self.showNoDataMessage()
		else:
			self.g_serverDataMenu = serverData #lets save the menu to call it when cancel is pressed

			self["menu"].setList(serverData)
			self.refreshMenu()

		printl("", self, "C")
Example #39
0
    def finishUserEntry(self):
        printl("", self, "S")
        self.session.open(MessageBox,
                          _("Confirmed User from Plex was configured!"),
                          MessageBox.TYPE_INFO)

        if self.editMode:
            content = self["content"].getCurrent()
            currentId = content[1][7]
            self["content"].deleteSelectedUser(currentId)

        self["content"].addNewUser(self.username, self.pin,
                                   self.authenticationToken, self.myId)

        self.editMode = False

        printl("", self, "C")
Example #40
0
    def addMyPlexSettings(self):
        printl("", self, "S")

        self.cfglist.append(
            getConfigListEntry(
                _(" >> myPLEX URL"), self.current.myplexUrl,
                _("You need openSSL installed for this feature! Please check in System ..."
                  )))
        self.cfglist.append(
            getConfigListEntry(
                _(" >> myPLEX Username"), self.current.myplexUsername,
                _("You need openSSL installed for this feature! Please check in System ..."
                  )))
        self.cfglist.append(
            getConfigListEntry(
                _(" >> myPLEX Password"), self.current.myplexPassword,
                _("You need openSSL installed for this feature! Please check in System ..."
                  )))

        self.cfglist.append(
            getConfigListEntry(_(" >> myPLEX Home Users"),
                               self.current.myplexHomeUsers,
                               _("Use Home Users?")))
        if self.current.myplexHomeUsers.value:
            self.cfglist.append(
                getConfigListEntry(_(" >> Use Settings Protection"),
                                   self.current.protectSettings,
                                   _("Ask for pin?")))
            if self.current.protectSettings.value:
                self.cfglist.append(
                    getConfigListEntry(_(" >> Settings Pincode"),
                                       self.current.settingsPin,
                                       _("Pincode for changing settings")))

            self.cfglist.append(
                getConfigListEntry(
                    _(" >> myPLEX Pin Protection"),
                    self.current.myplexPinProtect,
                    _("Use Pinprotection for switch back to myPlex user?")))
            if self.current.myplexPinProtect.value:
                self.cfglist.append(
                    getConfigListEntry(
                        _(" >> myPLEX Pincode"), self.current.myplexPin,
                        _("Pincode for switching back from any home user.")))

        printl("", self, "C")
Example #41
0
    def selectMedia(self, count, options, server):
        printl("", self, "S")

        #if we have two or more files for the same movie, then present a screen
        self.options = options
        self.server = server
        self.dvdplayback = False

        if not self.options:
            response = Singleton().getPlexInstance().getLastResponse()
            self.session.open(MessageBox, (_("Error:") + "\n%s") % response,
                              MessageBox.TYPE_INFO)
        else:
            if count > 1:
                printl("we have more than one playable part ...", self, "I")
                indexCount = 0
                functionList = []

                for items in self.options:
                    printl("item: " + str(items), self, "D")
                    if items[1] is not None:
                        name = items[1].split('/')[-1]
                    else:
                        size = convertSize(int(items[3]))
                        duration = time.strftime('%H:%M:%S',
                                                 time.gmtime(int(items[4])))
                        # this is the case when there is no information of the real file name
                        name = items[0] + " (" + items[
                            2] + " / " + size + " / " + duration + ")"

                    printl("name " + str(name), self, "D")
                    functionList.append((
                        name,
                        indexCount,
                    ))
                    indexCount += 1

                self.session.openWithCallback(self.setSelectedMedia,
                                              ChoiceBox,
                                              title=_("Select media to play"),
                                              list=functionList)

            else:
                self.setSelectedMedia()

            printl("", self, "C")
Example #42
0
def getViewTypesForSettings():
    printl("", "__init__::getViewTypesForSettings", "S")

    # view settings
    viewChoicesForMovies = getViewsByType("movies")
    config.plugins.dreamplex.defaultMovieView = ConfigSelection(
        default="0", choices=viewChoicesForMovies)

    viewChoicesForShows = getViewsByType("shows")
    config.plugins.dreamplex.defaultShowView = ConfigSelection(
        default="0", choices=viewChoicesForShows)

    viewChoicesForMusic = getViewsByType("music")
    config.plugins.dreamplex.defaultMusicView = ConfigSelection(
        default="0", choices=viewChoicesForMusic)

    printl("", "__init__::getViewTypesForSettings", "C")
Example #43
0
	def __init__(self):
		printl("", self, "S")

		assert not MediaSyncerInfo.instance, "only one MediaSyncerInfo instance is allowed!"
		MediaSyncerInfo.instance = self # set instance
		self.syncer = None
		self.running = False
		self.backgroundMediaSyncer = None

		self.callback_infos = None
		self.callback_finished = None
		self.callback_progress = None
		self.mode = None
		self.serverConfig = None
		self.plexInstance = None

		printl("", self, "C")
Example #44
0
    def playPreviousEntry(self):
        printl("", self, "S")
        # first we write back the state of the current file to the plex server
        self.handleProgress()

        self.currentIndex -= 1

        # check if we are at the begining of the list we start at the end
        if self.currentIndex < 0:
            self.currentIndex = self.listCount

        # stop current playback if exists
        self.session.nav.stopService()

        # play
        self.playMedia()

        printl("", self, "C")
Example #45
0
    def finishLayout(self):
        printl("", self, "S")

        self["btn_red"].instance.setPixmapFromFile(self.guiElements["key_red"])
        self["btn_redText"].setText(_("Delete Entry"))

        self["btn_green"].instance.setPixmapFromFile(
            self.guiElements["key_green"])
        self["btn_greenText"].setText(_("Add Entry"))

        if self.error:
            self.session.open(
                MessageBox,
                _("Something went wrong while opening mappings xml!"),
                MessageBox.TYPE_INFO)
            self.close()

        printl("", self, "C")
Example #46
0
	def onLeave(self):
		printl("", self, "S")

		# first we have to turn off filtermode or the keypress that is needed to refresh function names will be interpreted as filter action
		self.toggleFilterMode(quit=True)

		# first we call the the rest of the onEnter from super
		super(DPS_ViewMusic,self).onLeave()

		# first restore Elements
		self.restoreElementsInViewStep()

		self.initFilterMode()

		# we do the refresh here to be able to handle directory content
		self.refresh()

		printl("", self, "C")
Example #47
0
    def filter(self):
        printl("", self, "S")

        if self.onNumberKeyLastChar == " ":
            self["menu"].setList(self.beforeFilterListViewList)

            # we also have to reset the variable because this one is passed to player
            self.listViewList = self.beforeFilterListViewList
        else:
            self.listViewList = [
                x for x in self.beforeFilterListViewList
                if x[0][0] == self.onNumberKeyLastChar
            ]
            self["menu"].setList(self.listViewList)

        self.refreshMenu()

        printl("", self, "C")
Example #48
0
    def startSelection(self):
        printl("", self, "S")

        selection = self["content"].getCurrent()

        if selection[1] == "oe16" or selection[1] == "oe20":
            self.checkLib(selection[1])

        if selection[1] == "check_DP":
            self.checkDreamPlexInstallation()

        if selection[1] == "check_Curl":
            self.checkCurlInstallation()

        if selection[1] == "check_Update":
            self.checkForUpdate()

        printl("", self, "C")
Example #49
0
    def getHomeUsersFromServer(self):
        printl("", self, "S")

        printl("serverID: " + str(self.serverID), self, "D")
        for server in self.tree.findall("server"):
            printl("servername: " + str(server.get('id')), self, "D")
            if str(server.get('id')) == str(self.serverID):
                printl("", self, "C")
                return server

        return None
Example #50
0
def getMovieViewDefaults():
    printl("", "DP_ViewFactory::getMovieViewDefaults", "S")
    params = {}

    params["settings"] = {}
    settingsList = getDefaultSettingsList()
    # mandatory items have to be defined or a assert error will come
    for setting in settingsList:
        params["settings"][setting] = "mandatory"

    params["elements"] = {}
    elementsList = getDefaultCineElementsList()

    # init elements
    for element in elementsList:
        params["elements"][element] = {}
        params["elements"][element]["visible"] = True

    # override default True
    params["elements"]["grandparentTitle"]["visible"] = False
    params["elements"]["childCount"]["visible"] = False
    params["elements"]["leafCount"]["visible"] = False
    params["elements"]["unviewedLeafCount"]["visible"] = False
    params["elements"]["viewedLeafCount"]["visible"] = False
    params["elements"]["videoCodec"]["visible"] = False
    params["elements"]["bitrate"]["visible"] = False
    params["elements"]["videoFrameRate"]["visible"] = False
    params["elements"]["audioChannels"]["visible"] = False
    params["elements"]["aspectRatio"]["visible"] = False
    params["elements"]["videoResolution"]["visible"] = False
    params["elements"]["audioCodec"]["visible"] = False
    params["elements"]["file"]["visible"] = False

    # add addional params in elements
    # params["elements"]["backdrop"]["height"]                       = "315"
    # params["elements"]["backdrop"]["width"]                        = "560"
    #params["elements"]["backdrop"]["postfix"]                      = "_backdrop_v2.jpg"

    # params["elements"]["poster"]["height"]                         = "268"
    # params["elements"]["poster"]["width"]                          = "195"
    #params["elements"]["poster"]["postfix"]                        = "_poster_v2.jpg"

    printl("", "DP_ViewFactory::getMovieViewDefaults", "C")
    return params
Example #51
0
	def finishLayout(self):
		printl("", self, "S")

		# first we set the pics for buttons
		self.setColorFunctionIcons()

		self["header"].setText(_("Server List:"))

		if self.skinResolution == "FHD": # FHD is used for FULL HD Boxes with new framebuffer
			self["columnHeader"].setText(_("Name                                         IP/myPlex                                             Port/Email                                        Active"))
		else:
			self["columnHeader"].setText(_("Name                                         IP/myPlex                                  Port/Email                                  Active"))

		self["btn_redText"].setText(_("Delete"))
		self["btn_greenText"].setText(_("Add"))
		self["btn_yellowText"].setText(_("Sync Media"))
		self["btn_blueText"].setText(_("Discover"))

		printl("", self, "C")
Example #52
0
    def __init__(self, session, serverID, plexInstance):
        printl("", self, "S")

        Screen.__init__(self, session)
        self["actions"] = ActionMap(
            ["ColorActions", "SetupActions"],
            {
                #"ok": self.startSelection,
                "cancel": self.cancel,
                "red": self.redKey,
                "green": self.greenKey,
                "yellow": self.yellowKey,
            },
            -1)

        self.guiElements = getGuiElements()
        self.plexInstance = plexInstance

        self.location = config.plugins.dreamplex.configfolderpath.value + "homeUsers"

        checkXmlFile(self.location)

        tree = getXmlContent(self.location)

        if tree is not None:
            self["content"] = DPS_UsersEntryList([], serverID, tree)
            self.updateList()
            self.error = False
        else:
            self.error = True

        self["btn_red"] = Pixmap()
        self["btn_redText"] = Label()

        self["btn_green"] = Pixmap()
        self["btn_greenText"] = Label()

        self["btn_yellow"] = Pixmap()
        self["btn_yellowText"] = Label()

        self.onShown.append(self.finishLayout)

        printl("", self, "C")
Example #53
0
    def checkForPinUsage(self):
        printl("", self, "S")

        self.onShown = []

        if not self.authenticated:
            if self.current.protectSettings.value:
                self.session.openWithCallback(
                    self.askForPin,
                    InputBox,
                    title=_("Please enter the pincode!"),
                    type=Input.PIN)
            else:
                self.authenticated = True
                self.createSetup()
        else:
            self.createSetup()

        printl("", self, "C")
Example #54
0
    def __init__(self, session):
        printl("", self, "S")

        Screen.__init__(self, session)

        self._session = session

        self["about"] = Label()

        self["key_red"] = StaticText(_("Close"))

        self["setupActions"] = ActionMap(["SetupActions", "ColorActions"], {
            "red": self.keyCancel,
            "cancel": self.keyCancel,
        }, -2)

        self.onLayoutFinish.append(self.setContent)

        printl("", self, "C")
Example #55
0
    def stop_discovery(self):
        printl("", self, "S")

        if self._discovery_is_running:
            printl("Discovery shutting down", self, "D")
            self._discovery_is_running = False
            self.discover_t.join()
            del self.discover_t
        else:
            printl("Discovery not running", self, "D")

        printl("", self, "C")
Example #56
0
    def stop_registration(self):
        printl("", self, "S")

        if self._registration_is_running:
            printl("Registration shutting down", self, "D")
            self._registration_is_running = False
            self.register_t.join()
            del self.register_t
        else:
            printl("Registration not running", self, "D")

        printl("", self, "C")
Example #57
0
    def setClientDetails(self):
        printl("", self, "S")

        gBoxType = getBoxInformation()
        self.client_id = str(getUUID())

        self.client_data = "Content-Type: plex/media-player\n"
        self.client_data += "Resource-Identifier: %s\n" % self.client_id
        self.client_data += "Name: %s\n" % config.plugins.dreamplex.boxName.value
        self.client_data += "Port: %s\n" % config.plugins.dreamplex.remotePort.value
        self.client_data += "Product: %s\n" % gBoxType[1] + " (" + str(
            getMyIp()) + ")"
        self.client_data += "Version: %s\n" % str(getVersion())
        self.client_data += "Protocol: plex\n"
        self.client_data += "Protocol-Version: 1\n"
        self.client_data += "Protocol-Capabilities: playback, navigation\n"
        self.client_data += "Device-Class: stb\n"

        printl("", self, "C")
Example #58
0
	def gotThreadMsg(self, msg):
		printl("", self, "S")

		msg = self.backgroundMediaSyncer.Message.pop()
		self.infoCallBack(msg[1])

		if msg[0] == THREAD_FINISHED:
			# clean up
			if getOeVersion() != "oe22":
				self.backgroundMediaSyncer.MessagePump.recv_msg.get().remove(self.gotThreadMsg)
			else:
				self.backgroundMediaSyncerConn = None

			self.callback = None
			#self.backgroundMediaSyncer = None # this throws a green screen. dont know why
			self.running = False
			self.done()

		printl("", self, "C")
Example #59
0
def getPlugin(pid, where):
	printl("", "__plugin__::getPlugin", "S")
	
	for plugin in gPlugins:
		if plugin.pid == pid and plugin.where == where:
			
			printl("plugin found ... " + str(plugin), "__plugin__::getPlugin", "D")
			printl("", "__plugin__::getPlugin", "C")
			return plugin
	
	printl("", "__plugin__::getPlugin", "C")
	return None
Example #60
-1
	def __init__(self, parent):
		printl("", self , "S")

		eWidget.__init__(self, parent)
		self.setTransparent(True)

		printl("", self, "C")