mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2025-06-17 05:36:12 +00:00
Revert "Revert "Adjusted the rest to use the new method""
This reverts commit f8632a97d8
.
This commit is contained in:
parent
f8632a97d8
commit
78acae377f
6 changed files with 153 additions and 281 deletions
|
@ -1,70 +1,54 @@
|
|||
#######################################################################
|
||||
# CLIENTINFORMATION: centralized client data
|
||||
# -------------------------------
|
||||
# addonId, addonName, addon version, clientId, platform
|
||||
#######################################################################
|
||||
# USER: centralized Userdata
|
||||
# -------------------------------
|
||||
# username, userId, token, server, http prefix, LogLevel
|
||||
#######################################################################
|
||||
|
||||
import xbmc
|
||||
import xbmcaddon
|
||||
import xbmcgui
|
||||
|
||||
import os
|
||||
from uuid import uuid4 as uuid4
|
||||
from Lock import Lock
|
||||
|
||||
import Utils as utils
|
||||
|
||||
|
||||
class ClientInformation():
|
||||
|
||||
|
||||
def __init__(self):
|
||||
addonId = self.getAddonId()
|
||||
self.addon = xbmcaddon.Addon(id=addonId)
|
||||
self.WINDOW = xbmcgui.Window( 10000 )
|
||||
|
||||
level = User().getLogLevel()
|
||||
self.logLevel = 0
|
||||
|
||||
if (level != None and level != ""):
|
||||
self.logLevel = int(level)
|
||||
|
||||
if (self.logLevel == 2):
|
||||
self.LogCalls = True
|
||||
self.className = self.__class__.__name__
|
||||
self.addonName = self.getAddonName()
|
||||
|
||||
def logMsg(self, msg, level = 1):
|
||||
def logMsg(self, msg, lvl=1):
|
||||
|
||||
addonName = self.getAddonName()
|
||||
className = self.__class__.__name__
|
||||
|
||||
if (self.logLevel >= level):
|
||||
try:
|
||||
xbmc.log("%s %s -> %s" % (addonName, className, str(msg)))
|
||||
except UnicodeEncodeError:
|
||||
try:
|
||||
xbmc.log("%s %s -> %s" % (addonName, className, str(msg)))
|
||||
except: pass
|
||||
utils.logMsg("%s %s" % (self.addonName, self.className), str(msg), int(lvl))
|
||||
|
||||
def getAddonId(self):
|
||||
# To use when declaring xbmcaddon.Addon(id=addonId)
|
||||
addonId = "plugin.video.emby"
|
||||
return addonId
|
||||
return "plugin.video.emby"
|
||||
|
||||
def getAddonName(self):
|
||||
# Useful for logging
|
||||
addonName = self.addon.getAddonInfo('name').upper()
|
||||
return addonName
|
||||
return self.addon.getAddonInfo('name').upper()
|
||||
|
||||
def getVersion(self):
|
||||
|
||||
version = self.addon.getAddonInfo('version')
|
||||
return version
|
||||
|
||||
return self.addon.getAddonInfo('version')
|
||||
|
||||
def getDeviceName(self):
|
||||
|
||||
deviceName = self.addon.getSetting('deviceName')
|
||||
deviceName = deviceName.replace("\"", "_")
|
||||
deviceName = deviceName.replace("/", "_")
|
||||
|
||||
return deviceName
|
||||
|
||||
def getMachineId(self):
|
||||
|
||||
WINDOW = self.WINDOW
|
||||
WINDOW = xbmcgui.Window(10000)
|
||||
|
||||
clientId = WINDOW.getProperty("client_id")
|
||||
if(clientId != None and clientId != ""):
|
||||
if (clientId != None and clientId != ""):
|
||||
return clientId
|
||||
|
||||
# we need to load and or generate a client machine id
|
||||
|
@ -78,21 +62,21 @@ class ClientInformation():
|
|||
lock = Lock(machine_guid_lock_path)
|
||||
locked = lock.acquire()
|
||||
|
||||
if(locked == True):
|
||||
if (locked == True):
|
||||
|
||||
fd = os.open(machine_guid_path, os.O_CREAT|os.O_RDWR)
|
||||
clientId = os.read(fd, 256)
|
||||
|
||||
if(len(clientId) == 0):
|
||||
if (len(clientId) == 0):
|
||||
uuid = uuid4()
|
||||
clientId = str("%012X" % uuid)
|
||||
self.logMsg("ClientId saved to FILE : %s" % clientId,1)
|
||||
self.logMsg("ClientId saved to FILE: %s" % clientId, 2)
|
||||
os.write(fd, clientId)
|
||||
os.fsync(fd)
|
||||
|
||||
os.close(fd)
|
||||
|
||||
self.logMsg("ClientId saved to WINDOW : %s" % clientId,1)
|
||||
self.logMsg("ClientId saved to WINDOW: %s" % clientId, 1)
|
||||
WINDOW.setProperty("client_id", clientId)
|
||||
|
||||
finally:
|
||||
|
@ -116,94 +100,3 @@ class ClientInformation():
|
|||
return "Linux/Android"
|
||||
|
||||
return "Unknown"
|
||||
|
||||
|
||||
class User(ClientInformation):
|
||||
|
||||
def __init__(self):
|
||||
addonId = self.getAddonId()
|
||||
self.addon = xbmcaddon.Addon(id=addonId)
|
||||
self.WINDOW = xbmcgui.Window( 10000 )
|
||||
|
||||
level = self.getLogLevel()
|
||||
self.logLevel = 0
|
||||
|
||||
if (level != None and level != ""):
|
||||
self.logLevel = int(level)
|
||||
|
||||
if (self.logLevel == 2):
|
||||
self.LogCalls = True
|
||||
|
||||
def logMsg(self, msg, level = 1):
|
||||
|
||||
addonName = self.getAddonName()
|
||||
className = self.__class__.__name__
|
||||
|
||||
if (self.logLevel >= level):
|
||||
try:
|
||||
xbmc.log("%s %s -> %s" % (addonName, className, str(msg)))
|
||||
except UnicodeEncodeError:
|
||||
try:
|
||||
xbmc.log("%s %s -> %s" % (addonName, className, str(msg)))
|
||||
except: pass
|
||||
|
||||
def getUsername(self):
|
||||
|
||||
username = self.addon.getSetting('username')
|
||||
return username
|
||||
|
||||
def getUserId(self):
|
||||
|
||||
username = self.getUsername()
|
||||
w_userId = self.WINDOW.getProperty('userId%s' % username)
|
||||
s_userId = self.addon.getSetting('userId%s' % username)
|
||||
|
||||
# Verify if userId is saved to Window
|
||||
if (w_userId != ""):
|
||||
self.logMsg("Returning saved (WINDOW) UserId for user: %s UserId: %s" % (username, w_userId),2)
|
||||
return w_userId
|
||||
# Verify if userId is saved in settings
|
||||
elif (s_userId != ""):
|
||||
self.logMsg("Returning saved (SETTINGS) UserId for user: %s UserId: %s" % (username, s_userId),2)
|
||||
self.WINDOW.setProperty('userId%s' % username, s_userId)
|
||||
return s_userId
|
||||
else:
|
||||
return ""
|
||||
|
||||
def getToken(self):
|
||||
|
||||
username = self.getUsername()
|
||||
w_token = self.WINDOW.getProperty('AccessToken%s' % username)
|
||||
s_token = self.addon.getSetting('AccessToken%s' % username)
|
||||
|
||||
# Verify if token is saved to Window
|
||||
if (w_token != ""):
|
||||
self.logMsg("Returning saved (WINDOW) AccessToken for user: %s Token: %s" % (username, w_token),2)
|
||||
return w_token
|
||||
# Verify if token is saved in settings
|
||||
elif (s_token != ""):
|
||||
self.logMsg("Returning saved (SETTINGS) AccessToken for user: %s Token: %s" % (username, s_token),2)
|
||||
self.WINDOW.setProperty('AccessToken%s' % username, s_token)
|
||||
return s_token
|
||||
else:
|
||||
self.logMsg("User is not authenticated.")
|
||||
return ""
|
||||
|
||||
def getServer(self):
|
||||
|
||||
host = self.addon.getSetting('ipaddress')
|
||||
port = self.addon.getSetting('port')
|
||||
return host + ":" + port
|
||||
|
||||
def getHTTPprefix(self):
|
||||
# For https support
|
||||
prefix = self.addon.getSetting('prefix')
|
||||
if prefix:
|
||||
return "https://"
|
||||
else:
|
||||
return "http://"
|
||||
|
||||
def getLogLevel(self):
|
||||
|
||||
level = self.addon.getSetting('logLevel')
|
||||
return level
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue