mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2024-12-26 02:36:10 +00:00
Merge branch 'develop' of https://github.com/MediaBrowser/plugin.video.emby into develop
This commit is contained in:
commit
5d35897a47
8 changed files with 28 additions and 9 deletions
|
@ -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.emby"
|
<addon id="plugin.video.emby"
|
||||||
name="Emby"
|
name="Emby"
|
||||||
version="2.3.9"
|
version="2.3.13"
|
||||||
provider-name="Emby.media">
|
provider-name="Emby.media">
|
||||||
<requires>
|
<requires>
|
||||||
<import addon="xbmc.python" version="2.19.0"/>
|
<import addon="xbmc.python" version="2.19.0"/>
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
version 2.3.12
|
||||||
|
- Fix virtual episodes being processed
|
||||||
|
- Return offline items so they don't get removed in kodi
|
||||||
|
- other minor fixes
|
||||||
|
|
||||||
version 2.3.8
|
version 2.3.8
|
||||||
- Fix database connection
|
- Fix database connection
|
||||||
- other minor fixes
|
- other minor fixes
|
||||||
|
|
|
@ -98,7 +98,7 @@ class DatabaseConn(object):
|
||||||
|
|
||||||
log.info("opened: %s - %s", self.path, id(self.conn))
|
log.info("opened: %s - %s", self.path, id(self.conn))
|
||||||
self.cursor = self.conn.cursor()
|
self.cursor = self.conn.cursor()
|
||||||
return self.conn.cursor()
|
return self.cursor
|
||||||
|
|
||||||
def _SQL(self, media_type):
|
def _SQL(self, media_type):
|
||||||
|
|
||||||
|
|
|
@ -651,9 +651,6 @@ class LibrarySync(threading.Thread):
|
||||||
|
|
||||||
log.warn("---===### Starting LibrarySync ###===---")
|
log.warn("---===### Starting LibrarySync ###===---")
|
||||||
|
|
||||||
# Verify database structure, otherwise create it.
|
|
||||||
self._verify_emby_database()
|
|
||||||
|
|
||||||
while not self.monitor.abortRequested():
|
while not self.monitor.abortRequested():
|
||||||
|
|
||||||
# In the event the server goes offline
|
# In the event the server goes offline
|
||||||
|
|
|
@ -401,7 +401,7 @@ class TVShows(Items):
|
||||||
# We needed to recreate the show entry. Re-add episodes now.
|
# We needed to recreate the show entry. Re-add episodes now.
|
||||||
log.info("Repairing episodes for showid: %s %s", showid, title)
|
log.info("Repairing episodes for showid: %s %s", showid, title)
|
||||||
all_episodes = emby.getEpisodesbyShow(itemid)
|
all_episodes = emby.getEpisodesbyShow(itemid)
|
||||||
self.add_episode(all_episodes['Items'], None)
|
self.add_episodes(all_episodes['Items'], None)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
|
@ -385,9 +385,14 @@ class Player(xbmc.Player):
|
||||||
log.debug("PLAYBACK_SEEK: %s" % currentFile)
|
log.debug("PLAYBACK_SEEK: %s" % currentFile)
|
||||||
|
|
||||||
if self.played_info.get(currentFile):
|
if self.played_info.get(currentFile):
|
||||||
|
position = None
|
||||||
|
try:
|
||||||
position = self.xbmcplayer.getTime()
|
position = self.xbmcplayer.getTime()
|
||||||
self.played_info[currentFile]['currentPosition'] = position
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if position is not None:
|
||||||
|
self.played_info[currentFile]['currentPosition'] = position
|
||||||
self.reportPlayback()
|
self.reportPlayback()
|
||||||
|
|
||||||
@log_error()
|
@log_error()
|
||||||
|
|
|
@ -172,6 +172,7 @@ class Read_EmbyServer():
|
||||||
'ParentId': parentid,
|
'ParentId': parentid,
|
||||||
'ArtistIds': artist_id,
|
'ArtistIds': artist_id,
|
||||||
'IncludeItemTypes': itemtype,
|
'IncludeItemTypes': itemtype,
|
||||||
|
'LocationTypes': "FileSystem,Remote,Offline",
|
||||||
'CollapseBoxSetItems': False,
|
'CollapseBoxSetItems': False,
|
||||||
'IsVirtualUnaired': False,
|
'IsVirtualUnaired': False,
|
||||||
'IsMissing': False,
|
'IsMissing': False,
|
||||||
|
@ -201,6 +202,7 @@ class Read_EmbyServer():
|
||||||
'IncludeItemTypes': itemtype,
|
'IncludeItemTypes': itemtype,
|
||||||
'CollapseBoxSetItems': False,
|
'CollapseBoxSetItems': False,
|
||||||
'IsVirtualUnaired': False,
|
'IsVirtualUnaired': False,
|
||||||
|
'LocationTypes': "FileSystem,Remote,Offline",
|
||||||
'IsMissing': False,
|
'IsMissing': False,
|
||||||
'Recursive': True,
|
'Recursive': True,
|
||||||
'StartIndex': index,
|
'StartIndex': index,
|
||||||
|
@ -340,6 +342,7 @@ class Read_EmbyServer():
|
||||||
'ParentId': parentid,
|
'ParentId': parentid,
|
||||||
'CollapseBoxSetItems': False,
|
'CollapseBoxSetItems': False,
|
||||||
'IsVirtualUnaired': False,
|
'IsVirtualUnaired': False,
|
||||||
|
'LocationTypes': "FileSystem,Remote,Offline",
|
||||||
'IsMissing': False,
|
'IsMissing': False,
|
||||||
'Recursive': True,
|
'Recursive': True,
|
||||||
'Ids': itemid
|
'Ids': itemid
|
||||||
|
@ -446,6 +449,7 @@ class Read_EmbyServer():
|
||||||
'ParentId': parent_id,
|
'ParentId': parent_id,
|
||||||
'Recursive': True,
|
'Recursive': True,
|
||||||
'IsVirtualUnaired': False,
|
'IsVirtualUnaired': False,
|
||||||
|
'LocationTypes': "FileSystem,Remote,Offline",
|
||||||
'IsMissing': False,
|
'IsMissing': False,
|
||||||
'StartIndex': index,
|
'StartIndex': index,
|
||||||
'Limit': jump,
|
'Limit': jump,
|
||||||
|
|
|
@ -7,6 +7,7 @@ import sys
|
||||||
import time
|
import time
|
||||||
import _strptime # Workaround for threads using datetime: _striptime is locked
|
import _strptime # Workaround for threads using datetime: _striptime is locked
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
import platform
|
||||||
|
|
||||||
import xbmc
|
import xbmc
|
||||||
|
|
||||||
|
@ -99,6 +100,8 @@ class Service(object):
|
||||||
self.websocket_thread = wsc.WebSocketClient()
|
self.websocket_thread = wsc.WebSocketClient()
|
||||||
self.library_thread = librarysync.LibrarySync()
|
self.library_thread = librarysync.LibrarySync()
|
||||||
|
|
||||||
|
# Verify database structure, otherwise create it.
|
||||||
|
self.library_thread._verify_emby_database()
|
||||||
|
|
||||||
while not self.monitor.abortRequested():
|
while not self.monitor.abortRequested():
|
||||||
|
|
||||||
|
@ -164,6 +167,11 @@ class Service(object):
|
||||||
|
|
||||||
ga = GoogleAnalytics()
|
ga = GoogleAnalytics()
|
||||||
ga.sendEventData("Application", "Startup", serverId)
|
ga.sendEventData("Application", "Startup", serverId)
|
||||||
|
try:
|
||||||
|
ga.sendEventData("Version", "OS", platform.platform())
|
||||||
|
ga.sendEventData("Version", "Python", platform.python_version())
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
# Start up events
|
# Start up events
|
||||||
self.warn_auth = True
|
self.warn_auth = True
|
||||||
|
|
Loading…
Reference in a new issue