Fix gestione finestra server
This commit is contained in:
@@ -313,12 +313,16 @@ def findvideos(item, itemlist=[]):
|
|||||||
p_dialog.close()
|
p_dialog.close()
|
||||||
|
|
||||||
serverlist = [s for s in itemlist if s.server]
|
serverlist = [s for s in itemlist if s.server]
|
||||||
|
|
||||||
if itemlist and not serverlist:
|
if itemlist and not serverlist:
|
||||||
platformtools.render_items(itemlist, item)
|
platformtools.render_items(itemlist, item)
|
||||||
if not serverlist:
|
if not serverlist:
|
||||||
platformtools.dialog_notification(config.get_localized_string(20000), config.get_localized_string(60347))
|
platformtools.dialog_notification(config.get_localized_string(20000), config.get_localized_string(60347))
|
||||||
elif len(serverlist) == 1:
|
elif len(serverlist) == 1:
|
||||||
# If there is only one server play it immediately
|
# If there is only one server play it immediately
|
||||||
|
from core import db
|
||||||
|
db['player']['itemlist'] = []
|
||||||
|
db.close()
|
||||||
play(itemlist[0].clone(no_return=True))
|
play(itemlist[0].clone(no_return=True))
|
||||||
else:
|
else:
|
||||||
platformtools.serverWindow(item, itemlist)
|
platformtools.serverWindow(item, itemlist)
|
||||||
|
|||||||
@@ -2013,37 +2013,18 @@ def serverWindow(item, itemlist):
|
|||||||
|
|
||||||
|
|
||||||
if itemlist:
|
if itemlist:
|
||||||
reopen = False
|
|
||||||
if config.get_setting('autoplay') and not item.disableAutoplay:
|
if config.get_setting('autoplay') and not item.disableAutoplay:
|
||||||
reopen = True
|
|
||||||
from core import autoplay
|
from core import autoplay
|
||||||
autoplay.start(itemlist, item)
|
autoplay.start(itemlist, item)
|
||||||
|
|
||||||
def monitor(itemlist, reopen):
|
if config.get_setting('window_type') == 0:
|
||||||
while not xbmc.Monitor().abortRequested():
|
selection = ServerSkinWindow("DialogSelect.xml", config.get_runtime_path()).start(item, itemlist)
|
||||||
if not is_playing():
|
else:
|
||||||
if reopen:
|
selection = ServerWindow('Servers.xml', config.get_runtime_path()).start(item, itemlist)
|
||||||
xbmc.sleep(200)
|
if selection != -1:
|
||||||
if not db['controls'].get('reopen', False):
|
from core import db
|
||||||
break
|
from platformcode.launcher import run
|
||||||
if config.get_setting('window_type') == 0:
|
db['player']['itemlist'] = itemlist
|
||||||
selection = ServerSkinWindow("DialogSelect.xml", config.get_runtime_path()).start(item, itemlist)
|
db.close()
|
||||||
reopen = True
|
run(selection)
|
||||||
else:
|
|
||||||
selection = ServerWindow('Servers.xml', config.get_runtime_path()).start(item, itemlist)
|
|
||||||
reopen = True
|
|
||||||
|
|
||||||
if selection == -1:
|
|
||||||
break
|
|
||||||
|
|
||||||
else:
|
|
||||||
from platformcode.launcher import run
|
|
||||||
try:
|
|
||||||
run(selection)
|
|
||||||
except:
|
|
||||||
reopen = False
|
|
||||||
if not selection.server or selection.server == 'torrent': break
|
|
||||||
|
|
||||||
import threading
|
|
||||||
# monitor(itemlist, reopen)
|
|
||||||
threading.Thread(target=monitor, args=[itemlist, reopen]).start()
|
|
||||||
|
|||||||
@@ -83,18 +83,8 @@ def mark_auto_as_watched(item):
|
|||||||
break
|
break
|
||||||
|
|
||||||
# if item.options['continue']:
|
# if item.options['continue']:
|
||||||
from core import db
|
if (marked and total_time < 20) or not marked:
|
||||||
if marked:
|
platformtools.serverWindow(item, itemlist)
|
||||||
logger.debug('CLOSE')
|
|
||||||
item.played_time = 0
|
|
||||||
if total_time > 20:
|
|
||||||
db['controls']['reopen'] = False
|
|
||||||
else:
|
|
||||||
db['controls']['reopen'] = True
|
|
||||||
else:
|
|
||||||
logger.debug('REOPEN')
|
|
||||||
item.played_time = actual_time
|
|
||||||
db['controls']['reopen'] = True
|
|
||||||
|
|
||||||
platformtools.set_played_time(item)
|
platformtools.set_played_time(item)
|
||||||
|
|
||||||
@@ -112,7 +102,10 @@ def mark_auto_as_watched(item):
|
|||||||
db.close()
|
db.close()
|
||||||
|
|
||||||
# If it is configured to mark as seen
|
# If it is configured to mark as seen
|
||||||
|
from core import db
|
||||||
if config.get_setting("mark_as_watched", "videolibrary"):
|
if config.get_setting("mark_as_watched", "videolibrary"):
|
||||||
|
itemlist = db['player'].get('itemlist', [])
|
||||||
|
db.close()
|
||||||
threading.Thread(target=mark_as_watched_subThread, args=[item]).start()
|
threading.Thread(target=mark_as_watched_subThread, args=[item]).start()
|
||||||
logger.debug('EXIT MONITOR')
|
logger.debug('EXIT MONITOR')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user