merged in getcollections

This commit is contained in:
Marcel van der Veldt 2015-03-15 18:14:23 +01:00
commit 0b6b630e06
2 changed files with 64 additions and 26 deletions

View File

@ -843,4 +843,40 @@ class LibrarySync():
if comparestring1 == comparestring2: if comparestring1 == comparestring2:
episode = item episode = item
return episode return episode
def getCollections(self):
#Build a list of the user views
userid = DownloadUtils().getUserId()
addon = xbmcaddon.Addon(id='plugin.video.mb3sync')
port = addon.getSetting('port')
host = addon.getSetting('ipaddress')
server = host + ":" + port
viewsUrl = server + "/mediabrowser/Users/" + userid + "/Views?format=json&ImageTypeLimit=1"
jsonData = DownloadUtils().downloadUrl(viewsUrl, suppress=True, popup=0 )
if(jsonData != ""):
views = json.loads(jsonData)
views = views.get("Items")
collections=[]
for view in views:
if(view.get("ChildCount") != 0):
Name =(view.get("Name")).encode('utf-8')
total = str(view.get("ChildCount"))
type = view.get("CollectionType")
if type == None:
type = "None" # User may not have declared the type
if type == "movies" or type == "tvshows":
collections.append( {'title' : Name,
'type' : type,
'id' : view.get("Id")})
return collections

View File

@ -53,7 +53,7 @@ def checkKodiSources():
xbmcvfs.mkdir(dataPath) xbmcvfs.mkdir(dataPath)
if not xbmcvfs.exists(movieLibrary + os.sep): if not xbmcvfs.exists(movieLibrary + os.sep):
xbmcvfs.mkdir(movieLibrary) xbmcvfs.mkdir(movieLibrary)
rebootRequired = addKodiSource("mediabrowser_movies",movieLibrary,"movies") rebootRequired = addKodiSource("mediabrowser_movies",movieLibrary,"movies")
if not xbmcvfs.exists(tvLibrary + os.sep): if not xbmcvfs.exists(tvLibrary + os.sep):
xbmcvfs.mkdir(tvLibrary) xbmcvfs.mkdir(tvLibrary)
rebootRequired = addKodiSource("mediabrowser_tvshows",tvLibrary,"tvshows") rebootRequired = addKodiSource("mediabrowser_tvshows",tvLibrary,"tvshows")
@ -86,31 +86,33 @@ def addKodiSource(name, path, type):
else: else:
error = True error = True
if error: # add it to sources.xml
# if adding to the database failed, manually add it to sources.xml sourcesFile = xbmc.translatePath( "special://profile/sources.xml" )
sourcesFile = xbmc.translatePath( "special://profile/sources.xml" )
if xbmcvfs.exists(sourcesFile): # add an emply sources file to work with
tree = ET.ElementTree(file=sourcesFile) if xbmcvfs.exists(sourcesFile) == False:
root = tree.getroot() sources = Element("sources")
videosources = root.find("video") video = SubElement(sources, "video")
#remove any existing entries for this path ET.ElementTree(sources).write(sourcesFile)
allsources = videosources.findall("source")
if allsources != None: if xbmcvfs.exists(sourcesFile):
for source in allsources: tree = ET.ElementTree(file=sourcesFile)
if source.find("name").text == name: root = tree.getroot()
videosources.remove(source) videosources = root.find("video")
# add the new source #remove any existing entries for this path
source = SubElement(videosources,'source') allsources = videosources.findall("source")
SubElement(source, "name").text = name if allsources != None:
SubElement(source, "path").text = path for source in allsources:
tree.write(sourcesFile) if source.find("name").text == name:
videosources.remove(source)
# add the new source
source = SubElement(videosources,'source')
SubElement(source, "name").text = name
SubElement(source, "path").text = path
tree.write(sourcesFile)
#return bool that reboot is needed and manual add of path to kodi #return bool that reboot is needed and manual add of path to kodi
return True #return True
else:
#return false that no reboot is needed
return False
def checkAuthentication(): def checkAuthentication():
#check authentication #check authentication