Print server info

Signed-off-by: Luigi311 <git@luigi311.com>
pull/109/head
Luigi311 2023-09-28 19:41:53 -06:00
parent aef884523b
commit bf5d875079
4 changed files with 30 additions and 45 deletions

View File

@ -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

View File

@ -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 = {}

View File

@ -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(

View File

@ -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()