mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2025-08-13 00:56:31 +00:00
Most flake8 warnings corrected
This commit is contained in:
parent
e92d60f7c7
commit
00765c0a12
58 changed files with 1144 additions and 1262 deletions
|
@ -18,7 +18,7 @@ from objects import obj
|
|||
|
||||
#################################################################################################
|
||||
|
||||
LOG = logging.getLogger("JELLYFIN."+__name__)
|
||||
LOG = logging.getLogger("JELLYFIN." + __name__)
|
||||
|
||||
#################################################################################################
|
||||
|
||||
|
@ -51,7 +51,7 @@ class Database(object):
|
|||
self.cursor = self.conn.cursor()
|
||||
|
||||
if self.db_file in ('video', 'music', 'texture', 'jellyfin'):
|
||||
self.conn.execute("PRAGMA journal_mode=WAL") # to avoid writing conflict with kodi
|
||||
self.conn.execute("PRAGMA journal_mode=WAL") # to avoid writing conflict with kodi
|
||||
|
||||
LOG.debug("--->[ database: %s ] %s", self.db_file, id(self.conn))
|
||||
|
||||
|
@ -105,8 +105,7 @@ class Database(object):
|
|||
|
||||
for file in reversed(files):
|
||||
|
||||
if (file.startswith(database) and not file.endswith('-wal') and
|
||||
not file.endswith('-shm') and not file.endswith('db-journal')):
|
||||
if (file.startswith(database) and not file.endswith('-wal') and not file.endswith('-shm') and not file.endswith('db-journal')):
|
||||
|
||||
st = xbmcvfs.Stat(databases + file.decode('utf-8'))
|
||||
modified_int = st.st_mtime()
|
||||
|
@ -147,7 +146,7 @@ class Database(object):
|
|||
loaded = self._get_database(databases[alt_file])
|
||||
|
||||
break
|
||||
except KeyError: # No other db options
|
||||
except KeyError: # No other db options
|
||||
loaded = None
|
||||
|
||||
break
|
||||
|
@ -172,7 +171,7 @@ class Database(object):
|
|||
'''
|
||||
changes = self.conn.total_changes
|
||||
|
||||
if exc_type is not None: # errors raised
|
||||
if exc_type is not None: # errors raised
|
||||
LOG.error("type: %s value: %s", exc_type, exc_val)
|
||||
|
||||
if self.commit_close and changes:
|
||||
|
@ -184,6 +183,7 @@ class Database(object):
|
|||
self.cursor.close()
|
||||
self.conn.close()
|
||||
|
||||
|
||||
def jellyfin_tables(cursor):
|
||||
|
||||
''' Create the tables for the jellyfin database.
|
||||
|
@ -205,6 +205,7 @@ def jellyfin_tables(cursor):
|
|||
LOG.info("Add missing column jellyfin_parent_id")
|
||||
cursor.execute("ALTER TABLE jellyfin ADD COLUMN jellyfin_parent_id 'TEXT'")
|
||||
|
||||
|
||||
def reset():
|
||||
|
||||
''' Reset both the jellyfin database and the kodi database.
|
||||
|
@ -257,6 +258,7 @@ def reset():
|
|||
dialog("ok", heading="{jellyfin}", line1=_(33088))
|
||||
xbmc.executebuiltin('RestartApp')
|
||||
|
||||
|
||||
def reset_kodi():
|
||||
|
||||
with Database() as videodb:
|
||||
|
@ -281,6 +283,7 @@ def reset_kodi():
|
|||
|
||||
LOG.info("[ reset kodi ]")
|
||||
|
||||
|
||||
def reset_jellyfin():
|
||||
|
||||
with Database('jellyfin') as jellyfindb:
|
||||
|
@ -298,6 +301,7 @@ def reset_jellyfin():
|
|||
|
||||
LOG.info("[ reset jellyfin ]")
|
||||
|
||||
|
||||
def reset_artwork():
|
||||
|
||||
''' Remove all existing texture.
|
||||
|
@ -325,6 +329,7 @@ def reset_artwork():
|
|||
|
||||
LOG.info("[ reset artwork ]")
|
||||
|
||||
|
||||
def get_sync():
|
||||
|
||||
path = xbmc.translatePath("special://profile/addon_data/plugin.video.jellyfin/").decode('utf-8')
|
||||
|
@ -345,6 +350,7 @@ def get_sync():
|
|||
|
||||
return sync
|
||||
|
||||
|
||||
def save_sync(sync):
|
||||
|
||||
path = xbmc.translatePath("special://profile/addon_data/plugin.video.jellyfin/").decode('utf-8')
|
||||
|
@ -358,6 +364,7 @@ def save_sync(sync):
|
|||
data = json.dumps(sync, sort_keys=True, indent=4, ensure_ascii=False)
|
||||
outfile.write(unicode(data))
|
||||
|
||||
|
||||
def get_credentials():
|
||||
|
||||
path = xbmc.translatePath("special://profile/addon_data/plugin.video.jellyfin/").decode('utf-8')
|
||||
|
@ -383,19 +390,21 @@ def get_credentials():
|
|||
|
||||
return credentials
|
||||
|
||||
|
||||
def save_credentials(credentials):
|
||||
credentials = credentials or {}
|
||||
path = xbmc.translatePath("special://profile/addon_data/plugin.video.jellyfin/").decode('utf-8')
|
||||
|
||||
if not xbmcvfs.exists(path):
|
||||
xbmcvfs.mkdirs(path)
|
||||
try:
|
||||
try:
|
||||
with open(os.path.join(path, 'data.json'), 'w', encoding='utf8') as outfile:
|
||||
data = json.dumps(credentials, sort_keys=True, indent=4, ensure_ascii=False)
|
||||
outfile.write(unicode(data))
|
||||
except Exception as e:
|
||||
LOG.error("Failed to save credentials: {}".format(e))
|
||||
|
||||
|
||||
def get_item(kodi_id, media):
|
||||
|
||||
''' Get jellyfin item based on kodi id and media.
|
||||
|
@ -409,4 +418,3 @@ def get_item(kodi_id, media):
|
|||
return
|
||||
|
||||
return item
|
||||
|
|
@ -8,7 +8,7 @@ import queries as QU
|
|||
|
||||
##################################################################################################
|
||||
|
||||
LOG = logging.getLogger("JELLYFIN."+__name__)
|
||||
LOG = logging.getLogger("JELLYFIN." + __name__)
|
||||
|
||||
##################################################################################################
|
||||
|
||||
|
|
|
@ -1,182 +1,142 @@
|
|||
|
||||
get_item = """ SELECT kodi_id, kodi_fileid, kodi_pathid, parent_id, media_type,
|
||||
jellyfin_type, media_folder, jellyfin_parent_id
|
||||
FROM jellyfin
|
||||
WHERE jellyfin_id = ?
|
||||
"""
|
||||
get_item_obj = [ "{Id}"
|
||||
]
|
||||
get_item_series_obj = [ "{SeriesId}"
|
||||
]
|
||||
get_item_song_obj = [ "{SongAlbumId}"
|
||||
]
|
||||
get_item_id_by_parent = """ SELECT jellyfin_id, kodi_id
|
||||
FROM jellyfin
|
||||
WHERE parent_id = ?
|
||||
AND media_type = ?
|
||||
"""
|
||||
get_item_id_by_parent_boxset_obj = [ "{SetId}","movie"
|
||||
]
|
||||
get_item_by_parent = """ SELECT jellyfin_id, kodi_id, kodi_fileid
|
||||
FROM jellyfin
|
||||
WHERE parent_id = ?
|
||||
AND media_type = ?
|
||||
get_item = """ SELECT kodi_id, kodi_fileid, kodi_pathid, parent_id, media_type,
|
||||
jellyfin_type, media_folder, jellyfin_parent_id
|
||||
FROM jellyfin
|
||||
WHERE jellyfin_id = ?
|
||||
"""
|
||||
get_item_obj = ["{Id}"]
|
||||
get_item_series_obj = ["{SeriesId}"]
|
||||
get_item_song_obj = ["{SongAlbumId}"]
|
||||
get_item_id_by_parent = """ SELECT jellyfin_id, kodi_id
|
||||
FROM jellyfin
|
||||
WHERE parent_id = ?
|
||||
AND media_type = ?
|
||||
"""
|
||||
get_item_by_media_folder = """ SELECT jellyfin_id, jellyfin_type
|
||||
FROM jellyfin
|
||||
WHERE media_folder = ?
|
||||
get_item_id_by_parent_boxset_obj = ["{SetId}", "movie"]
|
||||
get_item_by_parent = """ SELECT jellyfin_id, kodi_id, kodi_fileid
|
||||
FROM jellyfin
|
||||
WHERE parent_id = ?
|
||||
AND media_type = ?
|
||||
"""
|
||||
get_item_by_media_folder = """ SELECT jellyfin_id, jellyfin_type
|
||||
FROM jellyfin
|
||||
WHERE media_folder = ?
|
||||
"""
|
||||
get_item_by_parent_movie_obj = [ "{KodiId}","movie"
|
||||
]
|
||||
get_item_by_parent_tvshow_obj = [ "{ParentId}","tvshow"
|
||||
]
|
||||
get_item_by_parent_season_obj = [ "{ParentId}","season"
|
||||
]
|
||||
get_item_by_parent_episode_obj = [ "{ParentId}","episode"
|
||||
]
|
||||
get_item_by_parent_album_obj = [ "{ParentId}","album"
|
||||
]
|
||||
get_item_by_parent_song_obj = [ "{ParentId}","song"
|
||||
]
|
||||
get_item_by_wild = """ SELECT kodi_id, media_type
|
||||
FROM jellyfin
|
||||
WHERE jellyfin_id LIKE ?
|
||||
"""
|
||||
get_item_by_wild_obj = [ "{Id}"
|
||||
]
|
||||
get_item_by_kodi = """ SELECT jellyfin_id, parent_id, media_folder, jellyfin_type, checksum
|
||||
FROM jellyfin
|
||||
WHERE kodi_id = ?
|
||||
AND media_type = ?
|
||||
"""
|
||||
get_checksum = """ SELECT jellyfin_id, checksum
|
||||
FROM jellyfin
|
||||
WHERE jellyfin_type = ?
|
||||
"""
|
||||
get_view_name = """ SELECT view_name
|
||||
FROM view
|
||||
WHERE view_id = ?
|
||||
get_item_by_parent_movie_obj = ["{KodiId}", "movie"]
|
||||
get_item_by_parent_tvshow_obj = ["{ParentId}", "tvshow"]
|
||||
get_item_by_parent_season_obj = ["{ParentId}", "season"]
|
||||
get_item_by_parent_episode_obj = ["{ParentId}", "episode"]
|
||||
get_item_by_parent_album_obj = ["{ParentId}", "album"]
|
||||
get_item_by_parent_song_obj = ["{ParentId}", "song"]
|
||||
get_item_by_wild = """ SELECT kodi_id, media_type
|
||||
FROM jellyfin
|
||||
WHERE jellyfin_id LIKE ?
|
||||
"""
|
||||
get_media_by_id = """ SELECT jellyfin_type
|
||||
FROM jellyfin
|
||||
WHERE jellyfin_id = ?
|
||||
get_item_by_wild_obj = ["{Id}"]
|
||||
get_item_by_kodi = """ SELECT jellyfin_id, parent_id, media_folder, jellyfin_type, checksum
|
||||
FROM jellyfin
|
||||
WHERE kodi_id = ?
|
||||
AND media_type = ?
|
||||
"""
|
||||
get_media_by_parent_id = """ SELECT jellyfin_id, jellyfin_type, kodi_id, kodi_fileid
|
||||
FROM jellyfin
|
||||
WHERE jellyfin_parent_id = ?
|
||||
"""
|
||||
get_view = """ SELECT view_name, media_type
|
||||
FROM view
|
||||
get_checksum = """ SELECT jellyfin_id, checksum
|
||||
FROM jellyfin
|
||||
WHERE jellyfin_type = ?
|
||||
"""
|
||||
get_view_name = """ SELECT view_name
|
||||
FROM view
|
||||
WHERE view_id = ?
|
||||
"""
|
||||
get_views = """ SELECT *
|
||||
get_media_by_id = """ SELECT jellyfin_type
|
||||
FROM jellyfin
|
||||
WHERE jellyfin_id = ?
|
||||
"""
|
||||
get_media_by_parent_id = """ SELECT jellyfin_id, jellyfin_type, kodi_id, kodi_fileid
|
||||
FROM jellyfin
|
||||
WHERE jellyfin_parent_id = ?
|
||||
"""
|
||||
get_view = """ SELECT view_name, media_type
|
||||
FROM view
|
||||
WHERE view_id = ?
|
||||
"""
|
||||
get_views = """ SELECT *
|
||||
FROM view
|
||||
"""
|
||||
get_views_by_media = """ SELECT *
|
||||
FROM view
|
||||
WHERE media_type = ?
|
||||
"""
|
||||
get_items_by_media = """ SELECT jellyfin_id
|
||||
FROM jellyfin
|
||||
get_views_by_media = """ SELECT *
|
||||
FROM view
|
||||
WHERE media_type = ?
|
||||
"""
|
||||
get_version = """ SELECT idVersion
|
||||
get_items_by_media = """ SELECT jellyfin_id
|
||||
FROM jellyfin
|
||||
WHERE media_type = ?
|
||||
"""
|
||||
get_version = """ SELECT idVersion
|
||||
FROM version
|
||||
"""
|
||||
|
||||
|
||||
|
||||
add_reference = """ INSERT OR REPLACE INTO jellyfin(jellyfin_id, kodi_id, kodi_fileid, kodi_pathid, jellyfin_type,
|
||||
media_type, parent_id, checksum, media_folder, jellyfin_parent_id)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
"""
|
||||
add_reference_movie_obj = [ "{Id}","{MovieId}","{FileId}","{PathId}","Movie","movie", None,"{Checksum}","{LibraryId}",
|
||||
"{JellyfinParentId}"
|
||||
]
|
||||
add_reference_boxset_obj = [ "{Id}","{SetId}",None,None,"BoxSet","set",None,"{Checksum}",None,None
|
||||
]
|
||||
add_reference_tvshow_obj = [ "{Id}","{ShowId}",None,"{PathId}","Series","tvshow",None,"{Checksum}","{LibraryId}",
|
||||
"{JellyfinParentId}"
|
||||
]
|
||||
add_reference_season_obj = [ "{Id}","{SeasonId}",None,None,"Season","season","{ShowId}",None,None,None
|
||||
]
|
||||
add_reference_pool_obj = [ "{SeriesId}","{ShowId}",None,"{PathId}","Series","tvshow",None,"{Checksum}","{LibraryId}",None
|
||||
]
|
||||
add_reference_episode_obj = [ "{Id}","{EpisodeId}","{FileId}","{PathId}","Episode","episode","{SeasonId}","{Checksum}",
|
||||
None,"{JellyfinParentId}"
|
||||
]
|
||||
add_reference_mvideo_obj = [ "{Id}","{MvideoId}","{FileId}","{PathId}","MusicVideo","musicvideo",None,"{Checksum}",
|
||||
"{LibraryId}","{JellyfinParentId}"
|
||||
]
|
||||
add_reference_artist_obj = [ "{Id}","{ArtistId}",None,None,"{ArtistType}","artist",None,"{Checksum}","{LibraryId}",
|
||||
"{JellyfinParentId}"
|
||||
]
|
||||
add_reference_album_obj = [ "{Id}","{AlbumId}",None,None,"MusicAlbum","album",None,"{Checksum}",None,"{JellyfinParentId}"
|
||||
]
|
||||
add_reference_song_obj = [ "{Id}","{SongId}",None,"{PathId}","Audio","song","{AlbumId}","{Checksum}",
|
||||
None,"{JellyfinParentId}"
|
||||
]
|
||||
add_view = """ INSERT OR REPLACE INTO view(view_id, view_name, media_type)
|
||||
add_reference = """ INSERT OR REPLACE INTO jellyfin(jellyfin_id, kodi_id, kodi_fileid, kodi_pathid, jellyfin_type,
|
||||
media_type, parent_id, checksum, media_folder, jellyfin_parent_id)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
"""
|
||||
add_reference_movie_obj = ["{Id}", "{MovieId}", "{FileId}", "{PathId}", "Movie", "movie", None, "{Checksum}", "{LibraryId}", "{JellyfinParentId}"]
|
||||
add_reference_boxset_obj = ["{Id}", "{SetId}", None, None, "BoxSet", "set", None, "{Checksum}", None, None]
|
||||
add_reference_tvshow_obj = ["{Id}", "{ShowId}", None, "{PathId}", "Series", "tvshow", None, "{Checksum}", "{LibraryId}", "{JellyfinParentId}"]
|
||||
add_reference_season_obj = ["{Id}", "{SeasonId}", None, None, "Season", "season", "{ShowId}", None, None, None]
|
||||
add_reference_pool_obj = ["{SeriesId}", "{ShowId}", None, "{PathId}", "Series", "tvshow", None, "{Checksum}", "{LibraryId}", None]
|
||||
add_reference_episode_obj = ["{Id}", "{EpisodeId}", "{FileId}", "{PathId}", "Episode", "episode", "{SeasonId}", "{Checksum}", None, "{JellyfinParentId}"]
|
||||
add_reference_mvideo_obj = ["{Id}", "{MvideoId}", "{FileId}", "{PathId}", "MusicVideo", "musicvideo", None, "{Checksum}", "{LibraryId}", "{JellyfinParentId}"]
|
||||
add_reference_artist_obj = ["{Id}", "{ArtistId}", None, None, "{ArtistType}", "artist", None, "{Checksum}", "{LibraryId}", "{JellyfinParentId}"]
|
||||
add_reference_album_obj = ["{Id}", "{AlbumId}", None, None, "MusicAlbum", "album", None, "{Checksum}", None, "{JellyfinParentId}"]
|
||||
add_reference_song_obj = ["{Id}", "{SongId}", None, "{PathId}", "Audio", "song", "{AlbumId}", "{Checksum}", None, "{JellyfinParentId}"]
|
||||
add_view = """ INSERT OR REPLACE INTO view(view_id, view_name, media_type)
|
||||
VALUES (?, ?, ?)
|
||||
"""
|
||||
add_version = """ INSERT OR REPLACE INTO version(idVersion)
|
||||
add_version = """ INSERT OR REPLACE INTO version(idVersion)
|
||||
VALUES (?)
|
||||
"""
|
||||
|
||||
|
||||
update_reference = """ UPDATE jellyfin
|
||||
SET checksum = ?
|
||||
WHERE jellyfin_id = ?
|
||||
"""
|
||||
update_reference_obj = [ "{Checksum}", "{Id}"
|
||||
]
|
||||
update_parent = """ UPDATE jellyfin
|
||||
SET parent_id = ?
|
||||
WHERE jellyfin_id = ?
|
||||
"""
|
||||
update_parent_movie_obj = [ "{SetId}","{Id}"
|
||||
]
|
||||
update_parent_episode_obj = [ "{SeasonId}","{Id}"
|
||||
]
|
||||
update_parent_album_obj = [ "{ArtistId}","{AlbumId}"]
|
||||
update_reference = """ UPDATE jellyfin
|
||||
SET checksum = ?
|
||||
WHERE jellyfin_id = ?
|
||||
"""
|
||||
update_reference_obj = ["{Checksum}", "{Id}"]
|
||||
update_parent = """ UPDATE jellyfin
|
||||
SET parent_id = ?
|
||||
WHERE jellyfin_id = ?
|
||||
"""
|
||||
update_parent_movie_obj = ["{SetId}", "{Id}"]
|
||||
update_parent_episode_obj = ["{SeasonId}", "{Id}"]
|
||||
update_parent_album_obj = ["{ArtistId}", "{AlbumId}"]
|
||||
|
||||
|
||||
|
||||
delete_item = """ DELETE FROM jellyfin
|
||||
WHERE jellyfin_id = ?
|
||||
"""
|
||||
delete_item_obj = [ "{Id}"
|
||||
]
|
||||
delete_item_by_parent = """ DELETE FROM jellyfin
|
||||
WHERE parent_id = ?
|
||||
AND media_type = ?
|
||||
"""
|
||||
delete_item_by_parent_tvshow_obj = [ "{ParentId}","tvshow"
|
||||
]
|
||||
delete_item_by_parent_season_obj = [ "{ParentId}","season"
|
||||
]
|
||||
delete_item_by_parent_episode_obj = [ "{ParentId}","episode"
|
||||
]
|
||||
delete_item_by_parent_song_obj = [ "{ParentId}","song"
|
||||
]
|
||||
delete_item_by_parent_artist_obj = [ "{ParentId}","artist"
|
||||
]
|
||||
delete_item_by_parent_album_obj = [ "{KodiId}","album"
|
||||
]
|
||||
delete_item_by_kodi = """ DELETE FROM jellyfin
|
||||
WHERE kodi_id = ?
|
||||
AND media_type = ?
|
||||
"""
|
||||
delete_item_by_wild = """ DELETE FROM jellyfin
|
||||
WHERE jellyfin_id LIKE ?
|
||||
"""
|
||||
delete_view = """ DELETE FROM view
|
||||
delete_item = """ DELETE FROM jellyfin
|
||||
WHERE jellyfin_id = ?
|
||||
"""
|
||||
delete_item_obj = ["{Id}"]
|
||||
delete_item_by_parent = """ DELETE FROM jellyfin
|
||||
WHERE parent_id = ?
|
||||
AND media_type = ?
|
||||
"""
|
||||
delete_item_by_parent_tvshow_obj = ["{ParentId}", "tvshow"]
|
||||
delete_item_by_parent_season_obj = ["{ParentId}", "season"]
|
||||
delete_item_by_parent_episode_obj = ["{ParentId}", "episode"]
|
||||
delete_item_by_parent_song_obj = ["{ParentId}", "song"]
|
||||
delete_item_by_parent_artist_obj = ["{ParentId}", "artist"]
|
||||
delete_item_by_parent_album_obj = ["{KodiId}", "album"]
|
||||
delete_item_by_kodi = """ DELETE FROM jellyfin
|
||||
WHERE kodi_id = ?
|
||||
AND media_type = ?
|
||||
"""
|
||||
delete_item_by_wild = """ DELETE FROM jellyfin
|
||||
WHERE jellyfin_id LIKE ?
|
||||
"""
|
||||
delete_view = """ DELETE FROM view
|
||||
WHERE view_id = ?
|
||||
"""
|
||||
delete_parent_boxset_obj = [ None, "{Movie}"
|
||||
]
|
||||
delete_media_by_parent_id = """ DELETE FROM jellyfin
|
||||
WHERE jellyfin_parent_id = ?
|
||||
delete_parent_boxset_obj = [None, "{Movie}"]
|
||||
delete_media_by_parent_id = """ DELETE FROM jellyfin
|
||||
WHERE jellyfin_parent_id = ?
|
||||
"""
|
||||
delete_version = """ DELETE FROM version
|
||||
delete_version = """ DELETE FROM version
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue