Change most string occurrences of Emby to Jellyfin (case sensitive)

This commit is contained in:
Claus Vium 2019-02-02 14:10:33 +01:00
parent 168bab2b01
commit 59c1dd42e3
79 changed files with 833 additions and 832 deletions

View file

@ -15,7 +15,7 @@ from emby import Emby
Emby.set_loghandler(loghandler.LogHandler, logging.DEBUG)
loghandler.reset()
loghandler.config()
LOG = logging.getLogger('EMBY.entrypoint')
LOG = logging.getLogger('JELLYFIN.entrypoint')
#################################################################################################

View file

@ -17,7 +17,7 @@ from objects import Actions
#################################################################################################
LOG = logging.getLogger("EMBY."+__name__)
LOG = logging.getLogger("JELLYFIN."+__name__)
XML_PATH = (xbmcaddon.Addon('plugin.video.jellyfin').getAddonInfo('path'), "default", "1080i")
OPTIONS = {
'Refresh': _(30410),
@ -40,13 +40,13 @@ class Context(object):
try:
self.kodi_id = sys.listitem.getVideoInfoTag().getDbId() or None
self.media = self.get_media_type()
self.server = sys.listitem.getProperty('embyserver') or None
item_id = sys.listitem.getProperty('embyid')
self.server = sys.listitem.getProperty('jellyfinserver') or None
item_id = sys.listitem.getProperty('jellyfinid')
except AttributeError:
self.server = None
if xbmc.getInfoLabel('ListItem.Property(embyid)'):
item_id = xbmc.getInfoLabel('ListItem.Property(embyid)')
if xbmc.getInfoLabel('ListItem.Property(jellyfinid)'):
item_id = xbmc.getInfoLabel('ListItem.Property(jellyfinid)')
else:
self.kodi_id = xbmc.getInfoLabel('ListItem.DBID')
self.media = xbmc.getInfoLabel('ListItem.DBTYPE')
@ -96,7 +96,7 @@ class Context(object):
def get_item_id(self):
''' Get synced item from embydb.
''' Get synced item from jellyfindb.
'''
item = database.get_item(self.kodi_id, self.media)
@ -130,7 +130,7 @@ class Context(object):
options.append(OPTIONS['Addon'])
context_menu = context.ContextMenu("script-emby-context.xml", *XML_PATH)
context_menu = context.ContextMenu("script-jellyfin-context.xml", *XML_PATH)
context_menu.set_options(options)
context_menu.doModal()
@ -164,7 +164,7 @@ class Context(object):
if not settings('skipContextMenu.bool'):
if not dialog("yesno", heading="{emby}", line1=_(33015)):
if not dialog("yesno", heading="{jellyfin}", line1=_(33015)):
delete = False
if delete:

View file

@ -24,7 +24,7 @@ from helper import _, event, settings, window, dialog, api, JSONRPC
#################################################################################################
LOG = logging.getLogger("EMBY."+__name__)
LOG = logging.getLogger("JELLYFIN."+__name__)
#################################################################################################
@ -55,15 +55,15 @@ class Events(object):
if '/extrafanart' in base_url:
emby_path = path[1:]
emby_id = params.get('id')
get_fanart(emby_id, emby_path, server)
jellyfin_path = path[1:]
jellyfin_id = params.get('id')
get_fanart(jellyfin_id, jellyfin_path, server)
elif '/Extras' in base_url or '/VideoFiles' in base_url:
emby_path = path[1:]
emby_id = params.get('id')
get_video_extras(emby_id, emby_path, server)
jellyfin_path = path[1:]
jellyfin_id = params.get('id')
get_video_extras(jellyfin_id, jellyfin_path, server)
elif mode =='play':
@ -101,7 +101,7 @@ class Events(object):
elif mode == 'addlibs':
event('AddLibrarySelection')
elif mode == 'connect':
event('EmbyConnect')
event('jellyfinConnect')
elif mode == 'addserver':
event('AddServer')
elif mode == 'login':
@ -123,14 +123,14 @@ class Events(object):
elif mode == 'backup':
backup()
elif mode == 'restartservice':
window('emby.restart.bool', True)
window('jellyfin.restart.bool', True)
else:
listing()
def listing():
''' Display all emby nodes and dynamic entries when appropriate.
''' Display all jellyfin nodes and dynamic entries when appropriate.
'''
total = int(window('Emby.nodes.total') or 0)
sync = get_sync()
@ -240,12 +240,12 @@ def browse(media, view_id=None, folder=None, server_id=None):
'''
LOG.info("--[ v:%s/%s ] %s", view_id, media, folder)
if not window('emby_online.bool') and server_id is None:
if not window('jellyfin_online.bool') and server_id is None:
monitor = xbmc.Monitor()
for i in range(300):
if window('emby_online.bool'):
if window('jellyfin_online.bool'):
break
elif monitor.waitForAbort(0.1):
return
@ -330,8 +330,8 @@ def browse(media, view_id=None, folder=None, server_id=None):
for item in listing:
li = xbmcgui.ListItem()
li.setProperty('embyid', item['Id'])
li.setProperty('embyserver', server_id)
li.setProperty('jellyfinid', item['Id'])
li.setProperty('jellyfinserver', server_id)
actions.set_listitem(item, li)
if item.get('IsFolder'):
@ -402,7 +402,7 @@ def browse(media, view_id=None, folder=None, server_id=None):
def browse_subfolders(media, view_id, server_id=None):
''' Display submenus for emby views.
''' Display submenus for jellyfin views.
'''
from views import DYNNODES
@ -498,7 +498,7 @@ def get_fanart(item_id, path, server_id=None):
LOG.info("[ extra fanart ] %s", item_id)
objects = Objects()
list_li = []
directory = xbmc.translatePath("special://thumbnails/emby/%s/" % item_id).decode('utf-8')
directory = xbmc.translatePath("special://thumbnails/jellyfin/%s/" % item_id).decode('utf-8')
server = TheVoid('GetServerAddress', {'ServerId': server_id}).get()
if not xbmcvfs.exists(directory):
@ -543,7 +543,7 @@ def get_video_extras(item_id, path, server_id=None):
# TODO
"""
def getVideoFiles(embyId,embyPath):
def getVideoFiles(jellyfinId,jellyfinPath):
#returns the video files for the item as plugin listing, can be used for browsing the actual files or videoextras etc.
emby = embyserver.Read_EmbyServer()
if not embyId:
@ -573,7 +573,7 @@ def get_next_episodes(item_id, limit):
''' Only for synced content.
'''
with Database('emby') as embydb:
with Database('jellyfin') as embydb:
db = emby_db.EmbyDatabase(embydb.cursor)
library = db.get_view_name(item_id)
@ -730,7 +730,7 @@ def add_user():
''' Add or remove users from the default server session.
'''
if not window('emby_online.bool'):
if not window('jellyfin_online.bool'):
return
session = TheVoid('GetSession', {}).get()
@ -782,11 +782,11 @@ def get_themes():
tvtunes.setSetting('custom_path', library)
LOG.info("TV Tunes custom path is enabled and set.")
else:
dialog("ok", heading="{emby}", line1=_(33152))
dialog("ok", heading="{jellyfin}", line1=_(33152))
return
with Database('emby') as embydb:
with Database('jellyfin') as embydb:
all_views = emby_db.EmbyDatabase(embydb.cursor).get_views()
views = [x[0] for x in all_views if x[2] in ('movies', 'tvshows', 'mixed')]
@ -831,7 +831,7 @@ def get_themes():
tvtunes_nfo(nfo_file, paths)
dialog("notification", heading="{emby}", message=_(33153), icon="{emby}", time=1000, sound=False)
dialog("notification", heading="{jellyfin}", message=_(33153), icon="{jellyfin}", time=1000, sound=False)
def delete_item():
@ -843,7 +843,7 @@ def delete_item():
def backup():
''' Emby backup.
''' Jellyfin backup.
'''
from helper.utils import delete_folder, copytree
@ -857,7 +857,7 @@ def backup():
backup = os.path.join(path, folder_name)
if xbmcvfs.exists(backup + '/'):
if not dialog("yesno", heading="{emby}", line1=_(33090)):
if not dialog("yesno", heading="{jellyfin}", line1=_(33090)):
return backup()
@ -870,7 +870,7 @@ def backup():
if not xbmcvfs.mkdirs(path) or not xbmcvfs.mkdirs(destination_databases):
LOG.info("Unable to create all directories")
dialog("notification", heading="{emby}", icon="{emby}", message=_(33165), sound=False)
dialog("notification", heading="{jellyfin}", icon="{jellyfin}", message=_(33165), sound=False)
return
@ -878,9 +878,9 @@ def backup():
databases = Objects().objects
db = xbmc.translatePath(databases['emby']).decode('utf-8')
db = xbmc.translatePath(databases['jellyfin']).decode('utf-8')
xbmcvfs.copy(db, os.path.join(destination_databases, db.rsplit('\\', 1)[1]))
LOG.info("copied emby.db")
LOG.info("copied jellyfin.db")
db = xbmc.translatePath(databases['video']).decode('utf-8')
filename = db.rsplit('\\', 1)[1]
@ -895,4 +895,4 @@ def backup():
LOG.info("copied %s", filename)
LOG.info("backup completed")
dialog("ok", heading="{emby}", line1="%s %s" % (_(33091), backup))
dialog("ok", heading="{jellyfin}", line1="%s %s" % (_(33091), backup))

View file

@ -26,7 +26,7 @@ from database import Database, emby_db, reset
#################################################################################################
LOG = logging.getLogger("EMBY."+__name__)
LOG = logging.getLogger("JELLYFIN."+__name__)
#################################################################################################
@ -43,7 +43,7 @@ class Service(xbmc.Monitor):
def __init__(self):
window('emby_should_stop', clear=True)
window('jellyfin_should_stop', clear=True)
self.settings['addon_version'] = client.get_version()
self.settings['profile'] = xbmc.translatePath('special://profile')
@ -53,14 +53,14 @@ class Service(xbmc.Monitor):
self.settings['enable_context'] = settings('enableContext.bool')
self.settings['enable_context_transcode'] = settings('enableContextTranscode.bool')
self.settings['kodi_companion'] = settings('kodiCompanion.bool')
window('emby_logLevel', value=str(self.settings['log_level']))
window('emby_kodiProfile', value=self.settings['profile'])
window('jellyfin_logLevel', value=str(self.settings['log_level']))
window('jellyfin_kodiProfile', value=self.settings['profile'])
settings('platformDetected', client.get_platform())
if self.settings['enable_context']:
window('emby_context.bool', True)
window('jellyfin_context.bool', True)
if self.settings['enable_context_transcode']:
window('emby_context_transcode.bool', True)
window('jellyfin_context_transcode.bool', True)
LOG.warn("--->>>[ %s ]", client.get_addon_name())
LOG.warn("Version: %s", client.get_version())
@ -78,7 +78,7 @@ class Service(xbmc.Monitor):
except Exception as error:
LOG.error(error)
window('emby.connected.bool', True)
window('jellyfin.connected.bool', True)
self.check_update()
settings('groupedSets.bool', objects.utils.get_grouped_set())
xbmc.Monitor.__init__(self)
@ -99,9 +99,9 @@ class Service(xbmc.Monitor):
self.settings['mode'] = settings('useDirectPaths')
while self.running:
if window('emby_online.bool'):
if window('jellyfin_online.bool'):
if self.settings['profile'] != window('emby_kodiProfile'):
if self.settings['profile'] != window('jellyfin_kodiProfile'):
LOG.info("[ profile switch ] %s", self.settings['profile'])
break
@ -118,10 +118,10 @@ class Service(xbmc.Monitor):
if update:
self.settings['last_progress_report'] = datetime.today()
if window('emby.restart.bool'):
if window('jellyfin.restart.bool'):
window('emby.restart', clear=True)
dialog("notification", heading="{emby}", message=_(33193), icon="{emby}", time=1000, sound=False)
window('jellyfin.restart', clear=True)
dialog("notification", heading="{jellyfin}", message=_(33193), icon="{jellyfin}", time=1000, sound=False)
raise Exception('RestartService')
@ -142,7 +142,7 @@ class Service(xbmc.Monitor):
def stop_default(self):
window('emby_online', clear=True)
window('jellyfin_online', clear=True)
Emby().close()
if self.library_thread is not None:
@ -154,7 +154,7 @@ class Service(xbmc.Monitor):
''' Check the database version to ensure we do not need to do a reset.
'''
with Database('emby') as embydb:
with Database('jellyfin') as embydb:
version = emby_db.EmbyDatabase(embydb.cursor).get_version()
LOG.info("---[ db/%s ]", version)
@ -202,12 +202,12 @@ class Service(xbmc.Monitor):
get_objects(zipfile, label + '.zip')
self.reload_objects()
dialog("notification", heading="{emby}", message=_(33156), icon="{emby}")
dialog("notification", heading="{jellyfin}", message=_(33156), icon="{jellyfin}")
LOG.info("--[ new objects/%s ]", objects.version)
try:
if compare_version(self.settings['addon_version'], objects.embyversion) < 0:
dialog("ok", heading="{emby}", line1="%s %s" % (_(33160), objects.embyversion))
dialog("ok", heading="{jellyfin}", line1="%s %s" % (_(33160), objects.embyversion))
except Exception:
pass
@ -229,7 +229,7 @@ class Service(xbmc.Monitor):
if method not in ('ServerUnreachable', 'ServerShuttingDown', 'UserDataChanged', 'ServerConnect',
'LibraryChanged', 'ServerOnline', 'SyncLibrary', 'RepairLibrary', 'RemoveLibrary',
'EmbyConnect', 'SyncLibrarySelection', 'RepairLibrarySelection', 'AddServer',
'JellyfinConnect', 'SyncLibrarySelection', 'RepairLibrarySelection', 'AddServer',
'Unauthorized', 'UpdateServer', 'UserConfigurationUpdated', 'ServerRestarting',
'RemoveServer', 'AddLibrarySelection', 'CheckUpdate', 'RemoveLibrarySelection'):
return
@ -246,7 +246,7 @@ class Service(xbmc.Monitor):
if method == 'ServerOnline':
if data.get('ServerId') is None:
window('emby_online.bool', True)
window('jellyfin_online.bool', True)
self.settings['auth_check'] = True
self.warn = True
@ -254,8 +254,8 @@ class Service(xbmc.Monitor):
users = [user for user in (settings('additionalUsers') or "").decode('utf-8').split(',') if user]
users.insert(0, settings('username').decode('utf-8'))
dialog("notification", heading="{emby}", message="%s %s" % (_(33000), ", ".join(users)),
icon="{emby}", time=1500, sound=False)
dialog("notification", heading="{jellyfin}", message="%s %s" % (_(33000), ", ".join(users)),
icon="{jellyfin}", time=1500, sound=False)
if self.library_thread is None:
@ -267,7 +267,7 @@ class Service(xbmc.Monitor):
if self.warn or data.get('ServerId'):
self.warn = data.get('ServerId') is not None
dialog("notification", heading="{emby}", message=_(33146) if data.get('ServerId') is None else _(33149), icon=xbmcgui.NOTIFICATION_ERROR)
dialog("notification", heading="{jellyfin}", message=_(33146) if data.get('ServerId') is None else _(33149), icon=xbmcgui.NOTIFICATION_ERROR)
if data.get('ServerId') is None:
self.stop_default()
@ -278,7 +278,7 @@ class Service(xbmc.Monitor):
self.start_default()
elif method == 'Unauthorized':
dialog("notification", heading="{emby}", message=_(33147) if data['ServerId'] is None else _(33148), icon=xbmcgui.NOTIFICATION_ERROR)
dialog("notification", heading="{jellyfin}", message=_(33147) if data['ServerId'] is None else _(33148), icon=xbmcgui.NOTIFICATION_ERROR)
if data.get('ServerId') is None and self.settings['auth_check']:
@ -295,7 +295,7 @@ class Service(xbmc.Monitor):
return
if settings('restartMsg.bool'):
dialog("notification", heading="{emby}", message=_(33006), icon="{emby}")
dialog("notification", heading="{jellyfin}", message=_(33006), icon="{jellyfin}")
self.stop_default()
@ -308,7 +308,7 @@ class Service(xbmc.Monitor):
self.connect.register(data['Id'])
xbmc.executebuiltin("Container.Refresh")
elif method == 'EmbyConnect':
elif method == 'JellyfinConnect':
self.connect.setup_login_connect()
elif method == 'AddServer':
@ -323,18 +323,18 @@ class Service(xbmc.Monitor):
elif method == 'UpdateServer':
dialog("ok", heading="{emby}", line1=_(33151))
dialog("ok", heading="{jellyfin}", line1=_(33151))
self.connect.setup_manual_server()
elif method == 'UserDataChanged' and self.library_thread:
if data.get('ServerId') or not window('emby_startup.bool'):
if data.get('ServerId') or not window('jellyfin_startup.bool'):
return
LOG.info("[ UserDataChanged ] %s", data)
self.library_thread.userdata(data['UserDataList'])
elif method == 'LibraryChanged' and self.library_thread:
if data.get('ServerId') or not window('emby_startup.bool'):
if data.get('ServerId') or not window('jellyfin_startup.bool'):
return
LOG.info("[ LibraryChanged ] %s", data)
@ -342,7 +342,7 @@ class Service(xbmc.Monitor):
self.library_thread.removed(data['ItemsRemoved'])
elif method == 'System.OnQuit':
window('emby_should_stop.bool', True)
window('jellyfin_should_stop.bool', True)
self.running = False
elif method in ('SyncLibrarySelection', 'RepairLibrarySelection', 'AddLibrarySelection', 'RemoveLibrarySelection'):
@ -382,7 +382,7 @@ class Service(xbmc.Monitor):
elif method == 'System.OnSleep':
LOG.info("-->[ sleep ]")
window('emby_should_stop.bool', True)
window('jellyfin_should_stop.bool', True)
if self.library_thread is not None:
@ -403,7 +403,7 @@ class Service(xbmc.Monitor):
LOG.info("--<[ sleep ]")
xbmc.sleep(10000)# Allow network to wake up
self.monitor.sleep = False
window('emby_should_stop', clear=True)
window('jellyfin_should_stop', clear=True)
try:
self.connect.register()
@ -426,34 +426,34 @@ class Service(xbmc.Monitor):
elif method == 'CheckUpdate':
if not self.check_update(True):
dialog("notification", heading="{emby}", message=_(21341), icon="{emby}", sound=False)
dialog("notification", heading="{jellyfin}", message=_(21341), icon="{jellyfin}", sound=False)
else:
dialog("notification", heading="{emby}", message=_(33181), icon="{emby}", sound=False)
window('emby.restart.bool', True)
dialog("notification", heading="{jellyfin}", message=_(33181), icon="{jellyfin}", sound=False)
window('jellyfin.restart.bool', True)
def onSettingsChanged(self):
''' React to setting changes that impact window values.
'''
if window('emby_should_stop.bool'):
if window('jellyfin_should_stop.bool'):
return
if settings('logLevel') != self.settings['log_level']:
log_level = settings('logLevel')
window('emby_logLevel', str(log_level))
window('jellyfin_logLevel', str(log_level))
self.settings['logLevel'] = log_level
LOG.warn("New log level: %s", log_level)
if settings('enableContext.bool') != self.settings['enable_context']:
window('emby_context', settings('enableContext'))
window('jellyfin_context', settings('enableContext'))
self.settings['enable_context'] = settings('enableContext.bool')
LOG.warn("New context setting: %s", self.settings['enable_context'])
if settings('enableContextTranscode.bool') != self.settings['enable_context_transcode']:
window('emby_context_transcode', settings('enableContextTranscode'))
window('jellyfin_context_transcode', settings('enableContextTranscode'))
self.settings['enable_context_transcode'] = settings('enableContextTranscode.bool')
LOG.warn("New context transcode setting: %s", self.settings['enable_context_transcode'])
@ -465,13 +465,13 @@ class Service(xbmc.Monitor):
if not self.settings.get('mode_warn'):
self.settings['mode_warn'] = True
dialog("yesno", heading="{emby}", line1=_(33118))
dialog("yesno", heading="{jellyfin}", line1=_(33118))
if settings('kodiCompanion.bool') != self.settings['kodi_companion']:
self.settings['kodi_companion'] = settings('kodiCompanion.bool')
if not self.settings['kodi_companion']:
dialog("ok", heading="{emby}", line1=_(33138))
dialog("ok", heading="{jellyfin}", line1=_(33138))
def reload_objects(self):
@ -497,14 +497,14 @@ class Service(xbmc.Monitor):
def shutdown(self):
LOG.warn("---<[ EXITING ]")
window('emby_should_stop.bool', True)
window('jellyfin_should_stop.bool', True)
properties = [ # TODO: review
"emby_state", "emby_serverStatus", "emby_currUser",
"jellyfin_state", "jellyfin_serverStatus", "jellyfin_currUser",
"emby_play", "emby_online", "emby.connected", "emby.resume", "emby_startup",
"emby.external", "emby.external_check", "emby_deviceId", "emby_db_check", "emby_pathverified",
"emby_sync"
"jellyfin_play", "jellyfin_online", "jellyfin.connected", "jellyfin.resume", "jellyfin_startup",
"jellyfin.external", "jellyfin.external_check", "jellyfin_deviceId", "jellyfin_db_check", "jellyfin_pathverified",
"jellyfin_sync"
]
for prop in properties:
window(prop, clear=True)