Get metadata for the info page from the Plex server before database

This commit is contained in:
JonnyWong16 2020-03-14 12:05:47 -07:00
parent b733ce969a
commit a952352e1f

View file

@ -3956,29 +3956,29 @@ class WebInterface(object):
"pms_web_url": plexpy.CONFIG.PMS_WEB_URL "pms_web_url": plexpy.CONFIG.PMS_WEB_URL
} }
if source == 'history': # Try to get metadata from the Plex server first
data_factory = datafactory.DataFactory() if rating_key:
metadata = data_factory.get_metadata_details(rating_key=rating_key, guid=guid)
if metadata:
poster_info = data_factory.get_poster_info(metadata=metadata)
metadata.update(poster_info)
lookup_info = data_factory.get_lookup_info(metadata=metadata)
metadata.update(lookup_info)
else:
pms_connect = pmsconnect.PmsConnect() pms_connect = pmsconnect.PmsConnect()
metadata = pms_connect.get_metadata_details(rating_key=rating_key) metadata = pms_connect.get_metadata_details(rating_key=rating_key)
if metadata:
data_factory = datafactory.DataFactory() # If the item is not found on the Plex server, get the metadata from history
poster_info = data_factory.get_poster_info(metadata=metadata) if not metadata and source == 'history':
metadata.update(poster_info) data_factory = datafactory.DataFactory()
lookup_info = data_factory.get_lookup_info(metadata=metadata) metadata = data_factory.get_metadata_details(rating_key=rating_key, guid=guid)
metadata.update(lookup_info)
if metadata:
data_factory = datafactory.DataFactory()
poster_info = data_factory.get_poster_info(metadata=metadata)
metadata.update(poster_info)
lookup_info = data_factory.get_lookup_info(metadata=metadata)
metadata.update(lookup_info)
if metadata: if metadata:
if metadata['section_id'] and not allow_session_library(metadata['section_id']): if metadata['section_id'] and not allow_session_library(metadata['section_id']):
raise cherrypy.HTTPRedirect(plexpy.HTTP_ROOT) raise cherrypy.HTTPRedirect(plexpy.HTTP_ROOT)
return serve_template(templatename="info.html", metadata=metadata, title="Info", config=config, source=source) return serve_template(templatename="info.html", metadata=metadata, title="Info",
config=config, source=source)
else: else:
if get_session_user_id(): if get_session_user_id():
raise cherrypy.HTTPRedirect(plexpy.HTTP_ROOT) raise cherrypy.HTTPRedirect(plexpy.HTTP_ROOT)