parent
aef884523b
commit
bf5d875079
|
|
@ -38,6 +38,7 @@ def setup_black_white_lists(
|
|||
whitelist_users,
|
||||
)
|
||||
|
||||
|
||||
def setup_x_lists(
|
||||
xlist_library,
|
||||
xlist_library_type,
|
||||
|
|
@ -89,42 +90,3 @@ def setup_x_lists(
|
|||
logger(f"{xlist_type}list Users: {xlist_users}", 1)
|
||||
|
||||
return xlist_library, xlist_library_type, xlist_users
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ class Jellyfin:
|
|||
self.baseurl = baseurl
|
||||
self.token = token
|
||||
self.timeout = aiohttp.ClientTimeout(
|
||||
total = int(os.getenv("REQUEST_TIMEOUT", 300)),
|
||||
total=int(os.getenv("REQUEST_TIMEOUT", 300)),
|
||||
connect=None,
|
||||
sock_connect=None,
|
||||
sock_read=None,
|
||||
|
|
@ -88,8 +88,12 @@ class Jellyfin:
|
|||
|
||||
self.users = asyncio.run(self.get_users())
|
||||
|
||||
async def query(self, query, query_type, session, identifiers=None):
|
||||
async def query(self, query, query_type, session=None, identifiers=None):
|
||||
try:
|
||||
if not session:
|
||||
async with aiohttp.ClientSession(timeout=self.timeout) as session:
|
||||
return await self.query(query, query_type, session, identifiers)
|
||||
|
||||
results = None
|
||||
headers = {"Accept": "application/json", "X-Emby-Token": self.token}
|
||||
authorization = (
|
||||
|
|
@ -134,6 +138,21 @@ class Jellyfin:
|
|||
logger(f"Jellyfin: Query {query_type} {query}\nResults {results}\n{e}", 2)
|
||||
raise Exception(e)
|
||||
|
||||
def info(self) -> str:
|
||||
try:
|
||||
query_string = "/System/Info/Public"
|
||||
|
||||
response = asyncio.run(self.query(query_string, "get"))
|
||||
|
||||
if response:
|
||||
return f"{response['ServerName']}: {response['Version']}"
|
||||
else:
|
||||
return None
|
||||
|
||||
except Exception as e:
|
||||
logger(f"Jellyfin: Get server name failed {e}", 2)
|
||||
raise Exception(e)
|
||||
|
||||
async def get_users(self):
|
||||
try:
|
||||
users = {}
|
||||
|
|
|
|||
|
|
@ -304,6 +304,9 @@ def main_loop():
|
|||
|
||||
# Start server_2 at the next server in the list
|
||||
for server_2 in servers[servers.index(server_1) + 1 :]:
|
||||
logger(f"Server 1: {server_1[0].capitalize()}: {server_1[1].info()}", 0)
|
||||
logger(f"Server 2: {server_2[0].capitalize()}: {server_2[1].info()}", 0)
|
||||
|
||||
# Create users list
|
||||
logger("Creating users list", 1)
|
||||
server_1_users, server_2_users = setup_users(
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import re, requests, os, traceback
|
||||
import re, requests, traceback
|
||||
from urllib3.poolmanager import PoolManager
|
||||
from math import floor
|
||||
|
||||
|
|
@ -173,9 +173,7 @@ def get_user_library_watched(user, user_plex, library):
|
|||
for show in library_videos.search(inProgress=True):
|
||||
args.append([get_user_library_watched_show, show])
|
||||
|
||||
for show_guids, episode_guids in future_thread_executor(
|
||||
args, threads=4
|
||||
):
|
||||
for show_guids, episode_guids in future_thread_executor(args, threads=4):
|
||||
if show_guids and episode_guids:
|
||||
# append show, season, episode
|
||||
if show_guids not in user_watched[user_name][library.title]:
|
||||
|
|
@ -414,6 +412,9 @@ class Plex:
|
|||
logger(f"Plex: Failed to login, Error: {e}", 2)
|
||||
raise Exception(e)
|
||||
|
||||
def info(self) -> str:
|
||||
return f"{self.plex.friendlyName}: {self.plex.version}"
|
||||
|
||||
def get_users(self):
|
||||
try:
|
||||
users = self.plex.myPlexAccount().users()
|
||||
|
|
|
|||
Loading…
Reference in New Issue