mirror of
https://github.com/fHDHR/fHDHR_NextPVR.git
synced 2025-12-06 06:36:58 -05:00
Use session to detect if PlexMediaServer
This commit is contained in:
parent
b12996b8bb
commit
2cd30a38ca
@ -62,7 +62,15 @@ class fHDHR_HTTP_Server():
|
|||||||
self.fhdhr.logger.info("HTTP Server Online.")
|
self.fhdhr.logger.info("HTTP Server Online.")
|
||||||
|
|
||||||
def before_request(self):
|
def before_request(self):
|
||||||
|
|
||||||
session["is_mobile"] = self.detect_mobile(request)
|
session["is_mobile"] = self.detect_mobile(request)
|
||||||
|
if session["is_mobile"]:
|
||||||
|
self.fhdhr.logger.debug("Client is a mobile device.")
|
||||||
|
|
||||||
|
session["is_plexmediaserver"] = self.detect_plexmediaserver(request)
|
||||||
|
if session["is_plexmediaserver"]:
|
||||||
|
self.fhdhr.logger.debug("Client is a Plex Media Server.")
|
||||||
|
|
||||||
self.fhdhr.logger.debug("Client %s requested %s Opening" % (request.method, request.path))
|
self.fhdhr.logger.debug("Client %s requested %s Opening" % (request.method, request.path))
|
||||||
|
|
||||||
def after_request(self, response):
|
def after_request(self, response):
|
||||||
@ -70,9 +78,16 @@ class fHDHR_HTTP_Server():
|
|||||||
return response
|
return response
|
||||||
|
|
||||||
def detect_mobile(self, request):
|
def detect_mobile(self, request):
|
||||||
agent = request.headers.get('User-Agent')
|
user_agent = request.headers.get('User-Agent')
|
||||||
phones = ["iphone", "android", "blackberry"]
|
phones = ["iphone", "android", "blackberry"]
|
||||||
if any(phone in agent.lower() for phone in phones):
|
if any(phone in user_agent.lower() for phone in phones):
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def detect_plexmediaserver(self, request):
|
||||||
|
user_agent = request.headers.get('User-Agent')
|
||||||
|
if str(user_agent).lower().startswith("plexmediaserver"):
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
from flask import redirect, request
|
from flask import redirect, request, session
|
||||||
|
|
||||||
|
|
||||||
class Root_URL():
|
class Root_URL():
|
||||||
@ -17,10 +17,10 @@ class Root_URL():
|
|||||||
user_agent = request.headers.get('User-Agent')
|
user_agent = request.headers.get('User-Agent')
|
||||||
|
|
||||||
# Client Devices Discovering Device Information
|
# Client Devices Discovering Device Information
|
||||||
if not user_agent or str(user_agent).lower().startswith("plexmediaserver"):
|
if not user_agent or session["is_plexmediaserver"]:
|
||||||
|
|
||||||
# Plex Remote Media Grabber redirect
|
# Plex Remote Media Grabber redirect
|
||||||
if self.fhdhr.config.dict["rmg"]["enabled"] and str(user_agent).lower().startswith("plexmediaserver"):
|
if self.fhdhr.config.dict["rmg"]["enabled"] and session["is_plexmediaserver"]:
|
||||||
return redirect("/rmg")
|
return redirect("/rmg")
|
||||||
|
|
||||||
# Client Device is looking for HDHR type device
|
# Client Device is looking for HDHR type device
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
from flask import request, redirect
|
from flask import redirect, session
|
||||||
|
|
||||||
|
|
||||||
class Device_XML():
|
class Device_XML():
|
||||||
@ -13,9 +13,7 @@ class Device_XML():
|
|||||||
|
|
||||||
def get(self, *args):
|
def get(self, *args):
|
||||||
|
|
||||||
user_agent = request.headers.get('User-Agent')
|
if self.fhdhr.config.dict["rmg"]["enabled"] and session["is_plexmediaserver"]:
|
||||||
if (self.fhdhr.config.dict["rmg"]["enabled"] and
|
|
||||||
str(user_agent).lower().startswith("plexmediaserver")):
|
|
||||||
return redirect("/rmg/device.xml")
|
return redirect("/rmg/device.xml")
|
||||||
else:
|
else:
|
||||||
return redirect("/hdhr/device.xml")
|
return redirect("/hdhr/device.xml")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user