Revert "Music: use strm files for addon paths"

This reverts commit 2d3f19b536.
This commit is contained in:
tomkat83 2017-04-14 17:57:36 +02:00
parent ca2a64e41c
commit 600b48d7aa

View file

@ -6,12 +6,10 @@ import logging
from urllib import urlencode
from ntpath import dirname
from datetime import datetime
from xbmc import sleep, translatePath
from os import path as os_path, makedirs
from xbmc import sleep
import artwork
from utils import tryEncode, tryDecode, window, kodiSQL, CatchExceptions, \
settings
from utils import tryEncode, tryDecode, window, kodiSQL, CatchExceptions
import plexdb_functions as plexdb
import kodidb_functions as kodidb
@ -24,12 +22,6 @@ import variables as v
log = logging.getLogger("PLEX."+__name__)
MARK_PLAYED_AT = 0.90
if settings('enableMusic') == "true":
SONG_STREAM_DIR = ('special://userdata/addon_data/%s/musicstreamfiles/'
% v.ADDON_ID)
if not os_path.exists(translatePath(SONG_STREAM_DIR)):
makedirs(translatePath(SONG_STREAM_DIR))
###############################################################################
@ -1629,9 +1621,15 @@ class Music(Items):
moods.append(entry.attrib['tag'])
mood = ' / '.join(moods)
# GET THE FILE AND PATH #####
doIndirect = not self.directpath
if self.directpath:
# Direct paths is set the Kodi way
playurl = API.getFilePath(forceFirstMediaStream=True)
if playurl is None:
# Something went wrong, trying to use non-direct paths
doIndirect = True
else:
playurl = API.validatePlayurl(playurl, API.getType())
if playurl is None:
return False
@ -1642,18 +1640,13 @@ class Music(Items):
# Network share
filename = playurl.rsplit("/", 1)[1]
path = playurl.replace(filename, "")
else:
# now using .strm files instead to circumvent the inability to
# launch plugins directly from the library for music files
filename = '%s.strm' % songid
with open(translatePath(
'%s%s' % (SONG_STREAM_DIR, filename)), 'w') as file:
file.write('plugin://%s?dbid=%s&mode=play&id=%s'
% (v.ADDON_ID, songid, itemid))
# Avoid telling kodi in which folder the music files are, so the
# scraper can't find them (and delete them)
path = ''
filename = '%s%s' % (SONG_STREAM_DIR, filename)
if doIndirect:
# Plex works a bit differently
path = "%s%s" % (self.server, item[0][0].attrib.get('key'))
path = API.addPlexCredentialsToUrl(path)
filename = path.rsplit('/', 1)[1]
path = path.replace(filename, '')
# UPDATE THE SONG #####
if update_item:
log.info("UPDATE song itemid: %s - Title: %s with path: %s"