mirror of
https://github.com/fHDHR/fHDHR_NextPVR.git
synced 2025-12-06 05:36:59 -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.")
|
||||
|
||||
def before_request(self):
|
||||
|
||||
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))
|
||||
|
||||
def after_request(self, response):
|
||||
@ -70,9 +78,16 @@ class fHDHR_HTTP_Server():
|
||||
return response
|
||||
|
||||
def detect_mobile(self, request):
|
||||
agent = request.headers.get('User-Agent')
|
||||
user_agent = request.headers.get('User-Agent')
|
||||
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
|
||||
else:
|
||||
return False
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
from flask import redirect, request
|
||||
from flask import redirect, request, session
|
||||
|
||||
|
||||
class Root_URL():
|
||||
@ -17,10 +17,10 @@ class Root_URL():
|
||||
user_agent = request.headers.get('User-Agent')
|
||||
|
||||
# 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
|
||||
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")
|
||||
|
||||
# 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():
|
||||
@ -13,9 +13,7 @@ class Device_XML():
|
||||
|
||||
def get(self, *args):
|
||||
|
||||
user_agent = request.headers.get('User-Agent')
|
||||
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/device.xml")
|
||||
else:
|
||||
return redirect("/hdhr/device.xml")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user