Merge remote-tracking branch 'MediaBrowser/master' into develop

This commit is contained in:
tomkat83 2016-01-02 08:58:13 +01:00
commit 3e1d3ff1cc
8 changed files with 33 additions and 34 deletions

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.plexkodiconnect" <addon id="plugin.video.plexkodiconnect"
name="PlexKodiConnect" name="PlexKodiConnect"
version="1.1.69" version="1.1.70"
provider-name="tomkat83"> provider-name="tomkat83">
<requires> <requires>
<import addon="xbmc.python" version="2.1.0"/> <import addon="xbmc.python" version="2.1.0"/>

View file

@ -1,3 +1,10 @@
version 1.1.70
- Include AirsAfterSeason for special episodes ordering
- Cover art settings - label adjusted. A reset or repair will be required if you change the settings value.
- Fix duplicate views being created (reset will be required)
- Fix albums merge when they had the same name (reset will be required)
- Minor fix to songs
version 1.1.69 version 1.1.69
- Fix unicode error for video nodes - Fix unicode error for video nodes
- Fix special episode ordering (repair sync can be run) - Fix special episode ordering (repair sync can be run)

View file

@ -388,7 +388,7 @@ def refreshPlaylist():
lib.refreshViews() lib.refreshViews()
dialog.notification( dialog.notification(
heading="Emby for Kodi", heading="Emby for Kodi",
message="Emby playlist refreshed!", message="Emby playlist refreshed",
icon="special://home/addons/plugin.video.plexkodiconnect/icon.png", icon="special://home/addons/plugin.video.plexkodiconnect/icon.png",
time=1000, time=1000,
sound=False) sound=False)
@ -396,8 +396,8 @@ def refreshPlaylist():
utils.logMsg("EMBY", "Refresh playlist failed: %s" % e, 1) utils.logMsg("EMBY", "Refresh playlist failed: %s" % e, 1)
dialog.notification( dialog.notification(
heading="Emby for Kodi", heading="Emby for Kodi",
message="Emby playlist refresh failed!", message="Emby playlist refresh failed",
icon="special://home/addons/plugin.video.plexkodiconnect/icon.png", icon=xbmcgui.NOTIFICATION_ERROR,
time=1000, time=1000,
sound=False) sound=False)

View file

@ -2260,10 +2260,14 @@ class Music(Items):
# Add path # Add path
pathid = kodi_db.addPath(path) pathid = kodi_db.addPath(path)
# Get the album
emby_dbalbum = emby_db.getItem_byId(item['AlbumId'])
try: try:
# Get the album
emby_dbalbum = emby_db.getItem_byId(item['AlbumId'])
albumid = emby_dbalbum[0] albumid = emby_dbalbum[0]
except KeyError:
# No album Id associated to the song.
self.logMsg("Song itemid: %s has no albumId." % itemid, 1)
return
except TypeError: except TypeError:
# No album found, create a single's album # No album found, create a single's album
kodicursor.execute("select coalesce(max(idAlbum),0) from album") kodicursor.execute("select coalesce(max(idAlbum),0) from album")

View file

@ -1050,29 +1050,17 @@ class Kodidb_Functions():
try: try:
albumid = cursor.fetchone()[0] albumid = cursor.fetchone()[0]
except TypeError: except TypeError:
# Verify by name # Create the album
query = ' '.join(( cursor.execute("select coalesce(max(idAlbum),0) from album")
albumid = cursor.fetchone()[0] + 1
query = (
'''
INSERT INTO album(idAlbum, strAlbum, strMusicBrainzAlbumID)
"SELECT idAlbum", VALUES (?, ?, ?)
"FROM album", '''
"WHERE strAlbum = ?", )
"COLLATE NOCASE" cursor.execute(query, (albumid, name, musicbrainz))
))
cursor.execute(query, (name,))
try:
albumid = cursor.fetchone()[0]
except TypeError:
# Create the album
cursor.execute("select coalesce(max(idAlbum),0) from album")
albumid = cursor.fetchone()[0] + 1
query = (
'''
INSERT INTO album(idAlbum, strAlbum, strMusicBrainzAlbumID)
VALUES (?, ?, ?)
'''
)
cursor.execute(query, (albumid, name, musicbrainz))
return albumid return albumid

View file

@ -63,7 +63,7 @@ class KodiMonitor(xbmc.Monitor):
self.logMsg("Properties already set for item.", 1) self.logMsg("Properties already set for item.", 1)
else: else:
if ((utils.settings('useDirectPaths') == "1" and not type == "song") or if ((utils.settings('useDirectPaths') == "1" and not type == "song") or
(type == "song" and utils.settings('disableMusic') == "false")): (type == "song" and utils.settings('enableMusic') == "true")):
# Set up properties for player # Set up properties for player
embyconn = utils.kodiSQL('emby') embyconn = utils.kodiSQL('emby')
embycursor = embyconn.cursor() embycursor = embyconn.cursor()

View file

@ -303,7 +303,7 @@ class LibrarySync(threading.Thread):
utils.window('emby_dbScan', clear=True) utils.window('emby_dbScan', clear=True)
xbmcgui.Dialog().notification( xbmcgui.Dialog().notification(
heading="Emby for Kodi", heading="Emby for Kodi",
message="%s completed in: %s!" % message="%s completed in: %s" %
(message, str(elapsedtotal).split('.')[0]), (message, str(elapsedtotal).split('.')[0]),
icon="special://home/addons/plugin.video.plexkodiconnect/icon.png", icon="special://home/addons/plugin.video.plexkodiconnect/icon.png",
sound=False) sound=False)
@ -376,7 +376,7 @@ class LibrarySync(threading.Thread):
# Media folders are grouped into userview # Media folders are grouped into userview
for grouped_view in grouped_views: for grouped_view in grouped_views:
if (grouped_view['Type'] == "UserView" and if (grouped_view['Type'] == "UserView" and
grouped_view['CollectionType'] == mediatype): grouped_view.get('CollectionType') == mediatype):
# Take the name of the userview # Take the name of the userview
foldername = grouped_view['Name'] foldername = grouped_view['Name']
break break

View file

@ -158,7 +158,7 @@ def reset():
connection.commit() connection.commit()
cursor.close() cursor.close()
if settings('disableMusic') != "true": if settings('enableMusic') == "true":
logMsg("EMBY", "Resetting the Kodi music database.") logMsg("EMBY", "Resetting the Kodi music database.")
connection = kodiSQL('music') connection = kodiSQL('music')
cursor = connection.cursor() cursor = connection.cursor()
@ -376,7 +376,7 @@ def passwordsXML():
settings('networkCreds', value="") settings('networkCreds', value="")
xbmcgui.Dialog().notification( xbmcgui.Dialog().notification(
heading="Emby for Kodi", heading="Emby for Kodi",
message="%s removed from passwords.xml!" % credentials, message="%s removed from passwords.xml" % credentials,
icon="special://home/addons/plugin.video.plexkodiconnect/icon.png", icon="special://home/addons/plugin.video.plexkodiconnect/icon.png",
time=1000, time=1000,
sound=False) sound=False)
@ -435,7 +435,7 @@ def passwordsXML():
dialog.notification( dialog.notification(
heading="Emby for Kodi", heading="Emby for Kodi",
message="%s added to passwords.xml!" % server, message="%s added to passwords.xml" % server,
icon="special://home/addons/plugin.video.plexkodiconnect/icon.png", icon="special://home/addons/plugin.video.plexkodiconnect/icon.png",
time=1000, time=1000,
sound=False) sound=False)