Ejemplo n.º 1
0
def Autostart(reason, session=None, **kwargs):

    if reason == 0:
        prepareEnvironment()
        getUUID()

    else:
        config.plugins.dreamplex.entriescount.save()
        config.plugins.dreamplex.Entries.save()
        config.plugins.dreamplex.save()
        configfile.save()

        if config.plugins.dreamplex.remoteAgent.value and HttpDeamonStarted:
            HttpDeamonThread.stopRemoteDeamon()
Ejemplo n.º 2
0
def Autostart(reason, session=None, **kwargs):

    if reason == 0:
        prepareEnvironment()
        getUUID()

    else:
        config.plugins.dreamplex.entriescount.save()
        config.plugins.dreamplex.Entries.save()
        config.plugins.dreamplex.save()
        configfile.save()

        if config.plugins.dreamplex.remoteAgent.value and HttpDeamonStarted:
            HttpDeamonThread.stopRemoteDeamon()
Ejemplo n.º 3
0
	def getTimelineXML(self, playerid, ptype):
		if playerid > 0:
			#info = self.getPlayerProperties(playerid)
			# save this info off so the server update can use it too
			#self.playerprops[playerid] = info;
			state = "playing"
			time = self.progressFromEnigma2
		else:
			state = "stopped"
			time = 0

		ret = "\r\n"+'<Timeline location="%s" state="%s" time="%s" type="%s"' % (self.mainlocation, state, time, ptype)

		if playerid > 0:
			#serv = {}#getServerByHost(self.server)
			ret += ' duration="%s"' % self.durationFromEnigma2
			ret += ' seekRange="0-%s"' % self.progressFromEnigma2
			ret += ' controllable="%s"' % self.controllable()
			ret += ' machineIdentifier="%s"' % getUUID() #serv.get('uuid', "")
			ret += ' protocol="%s"' % self.protocol
			ret += ' address="%s"' % self.server
			ret += ' port="%s"' % self.port
			ret += ' guid="%s"' % 11111 #info['guid']
			ret += ' containerKey="%s"' % (self.lastkey or "/library/metadata/900000")
			ret += ' key="%s"' % (self.lastkey or "/library/metadata/900000")
			m = re.search(r'(\d+)$', self.lastkey)
			if m:
				ret += ' ratingKey="%s"' % m.group()
			ret += ' volume="%s"' % 100
			ret += ' shuffle="%s"' % 0

		ret += '/>'
		return ret
Ejemplo n.º 4
0
    def getTimelineXML(self, playerid, ptype):
        if playerid > 0:
            state = self.playerStateFromEnigma2
            time = self.progressFromEnigma2
        else:
            state = "stopped"
            time = 0

        ret = "\r\n" + '<Timeline location="%s" state="%s" time="%s" type="%s"' % (
            self.mainlocation,
            state,
            time,
            ptype,
        )

        if playerid > 0:
            ret += ' duration="%s"' % self.durationFromEnigma2
            ret += ' seekRange="0-%s"' % self.progressFromEnigma2
            ret += ' controllable="%s"' % self.controllable()
            ret += ' machineIdentifier="%s"' % getUUID()  # serv.get('uuid', "")
            ret += ' protocol="%s"' % self.protocol
            ret += ' address="%s"' % self.server
            ret += ' port="%s"' % self.port
            ret += ' guid="%s"' % 11111  # info['guid']
            ret += ' containerKey="%s"' % (self.lastkey or "/library/metadata/900000")
            ret += ' key="%s"' % (self.lastkey or "/library/metadata/900000")
            m = re.search(r"(\d+)$", self.lastkey)
            if m:
                ret += ' ratingKey="%s"' % m.group()
            ret += ' volume="%s"' % 100
            ret += ' shuffle="%s"' % 0

        ret += "/>"
        return ret
Ejemplo n.º 5
0
    def getTimelineXML(self, playerid, ptype):
        if playerid > 0:
            state = self.playerStateFromEnigma2
            time = self.progressFromEnigma2
        else:
            state = "stopped"
            time = 0

        ret = "\r\n" + '<Timeline location="%s" state="%s" time="%s" type="%s"' % (
            self.mainlocation, state, time, ptype)

        if playerid > 0:
            ret += ' duration="%s"' % self.durationFromEnigma2
            ret += ' seekRange="0-%s"' % self.progressFromEnigma2
            ret += ' controllable="%s"' % self.controllable()
            ret += ' machineIdentifier="%s"' % getUUID()  #serv.get('uuid', "")
            ret += ' protocol="%s"' % self.protocol
            ret += ' address="%s"' % self.server
            ret += ' port="%s"' % self.port
            ret += ' guid="%s"' % 11111  #info['guid']
            ret += ' containerKey="%s"' % (self.lastkey
                                           or "/library/metadata/900000")
            ret += ' key="%s"' % (self.lastkey or "/library/metadata/900000")
            m = re.search(r'(\d+)$', self.lastkey)
            if m:
                ret += ' ratingKey="%s"' % m.group()
            ret += ' volume="%s"' % 100
            ret += ' shuffle="%s"' % 0

        ret += '/>'
        return ret
Ejemplo n.º 6
0
    def getResourceXml(self):
        printl("", self, "S")

        xml = "<MediaContainer><Player protocolCapabilities='playback, navigation' product='" + getMyIp(
        ) + "' platformVersion='" + getVersion(
        ) + "' platform='Enigma2' machineIdentifier='" + getUUID(
        ) + "' title='" + config.plugins.dreamplex.boxName.value + "' protocolVersion='1' deviceClass='stb'/></MediaContainer>"

        printl("", self, "C")
        return xml
Ejemplo n.º 7
0
	def setAccessControlHeaders(self):
		printl("", self, "S")

		self.send_header('X-Plex-Client-Identifier', getUUID())
		self.send_header('Access-Control-Max-Age', '1209600')
		self.send_header('Access-Control-Allow-Credentials', 'true')
		self.send_header('Access-Control-Allow-Origin', '*')
		self.send_header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
		self.send_header("Access-Control-Allow-Headers", "x-plex-client-identifier,x-plex-device,x-plex-device-name,x-plex-platform,x-plex-platform-version,x-plex-product,x-plex-target-client-identifier,x-plex-username,x-plex-version")

		printl("", self, "S")
Ejemplo n.º 8
0
	def setAccessControlHeaders(self):
		printl("", self, "S")

		self.send_header('X-Plex-Client-Identifier', getUUID())
		self.send_header('Access-Control-Max-Age', '1209600')
		self.send_header('Access-Control-Allow-Credentials', 'true')
		self.send_header('Access-Control-Allow-Origin', '*')
		self.send_header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
		self.send_header("Access-Control-Allow-Headers", "x-plex-client-identifier,x-plex-device,x-plex-device-name,x-plex-platform,x-plex-platform-version,x-plex-product,x-plex-target-client-identifier,x-plex-username,x-plex-version")

		printl("", self, "S")
Ejemplo n.º 9
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")
Ejemplo n.º 10
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")
Ejemplo n.º 11
0
def getPlexHeaders():
	printl("", "getPlexHeaders", "S")

	plexHeader = {
		"Content-type": "application/x-www-form-urlencoded",
		"X-Plex-Version": getVersion(),
		"X-Plex-Client-Identifier": getUUID(),
		"X-Plex-Provides": "player",
		"X-Plex-Product": "DreamPlex",
		"X-Plex-Device-Name": config.plugins.dreamplex.boxName.value,
		"X-Plex-Platform": "Enigma2",
		"X-Plex-Model": "Enigma2",
		"X-Plex-Device": "stb",
	}

	# if settings['myplex_user']:
	# plexHeader["X-Plex-Username"] = settings['myplex_user']

	printl("", "getPlexHeaders", "C")
	return plexHeader
Ejemplo n.º 12
0
	def getResourceXml(self):
		printl("", self, "S")

		xml = "<MediaContainer><Player protocolCapabilities='playback, navigation' product='"+ getMyIp() +"' platformVersion='"+ getVersion() +"' platform='Enigma2' machineIdentifier='"+ getUUID() +"' title='"+ config.plugins.dreamplex.boxName.value +"' protocolVersion='1' deviceClass='stb'/></MediaContainer>"

		printl("", self, "C")
		return xml