This commit is contained in:
tomkat83 2015-12-28 13:10:05 +01:00
parent ce6a9ca926
commit 43765a6675
2 changed files with 45 additions and 61 deletions

View file

@ -1233,64 +1233,33 @@ class PlexAPI():
}) })
return serverlist return serverlist
def GetPlexCollections(self, type):
# Build a list of the user views
collections = []
# Guess this stuff is not yet working url = "{server}/library/sections"
if __name__ == '__main__': jsondata = self.doUtils.downloadUrl(url)
testPlexGDM = 0 try:
testLocalPMS = 0 result = jsondata['_children']
testSectionXML = 1 except:
testMyPlexXML = 0 pass
testMyPlexSignIn = 0
testMyPlexSignOut = 0
username = 'abc'
password = 'def'
token = 'xyz'
# test PlexGDM
if testPlexGDM:
dprint('', 0, "*** PlexGDM")
PMS_list = PlexGDM()
dprint('', 0, PMS_list)
# test XML from local PMS
if testLocalPMS:
dprint('', 0, "*** XML from local PMS")
XML = getXMLFromPMS('http://127.0.0.1:32400', '/library/sections')
# test local Server/Sections
if testSectionXML:
dprint('', 0, "*** local Server/Sections")
PMS_list = PlexGDM()
XML = getSectionXML(PMS_list, {}, '')
# test XML from MyPlex
if testMyPlexXML:
dprint('', 0, "*** XML from MyPlex")
XML = getXMLFromPMS('https://plex.tv', '/pms/servers', None, token)
XML = getXMLFromPMS('https://plex.tv', '/pms/system/library/sections', None, token)
# test MyPlex Sign In
if testMyPlexSignIn:
dprint('', 0, "*** MyPlex Sign In")
options = {'PlexConnectUDID':'007'}
(user, token) = MyPlexSignIn(username, password, options)
if user=='' and token=='':
dprint('', 0, "Authentication failed")
else: else:
dprint('', 0, "logged in: {0}, {1}", user, token) for item in result:
# name = item['Name']
# test MyPlex Sign out name = item['title']
if testMyPlexSignOut: # contentType = item['Type']
dprint('', 0, "*** MyPlex Sign Out") contentType = item['type']
MyPlexSignOut(token) itemtype = contentType
dprint('', 0, "logged out") content = itemtype
contentID = item['key']
# test transcoder
if itemtype == type and name not in ("Collections", "Trailers"):
collections.append({
'title': name,
'type': itemtype,
'id': contentID,
'content': content
})
return collections

View file

@ -222,8 +222,8 @@ class LibrarySync(threading.Thread):
starttotal = datetime.now() starttotal = datetime.now()
# Set views # Set views
self.maintainViews(embycursor, kodicursor) # self.maintainViews(embycursor, kodicursor)
embyconn.commit() # embyconn.commit()
# Sync video library # Sync video library
process = { process = {
@ -233,6 +233,10 @@ class LibrarySync(threading.Thread):
'tvshows': self.tvshows, 'tvshows': self.tvshows,
'homevideos': self.homevideos 'homevideos': self.homevideos
} }
process = {
'movies': self.movies,
}
for itemtype in process: for itemtype in process:
startTime = datetime.now() startTime = datetime.now()
completed = process[itemtype](embycursor, kodicursor, pDialog, compare=manualrun) completed = process[itemtype](embycursor, kodicursor, pDialog, compare=manualrun)
@ -320,6 +324,17 @@ class LibrarySync(threading.Thread):
embycursor.close() embycursor.close()
def maintainViews(self, embycursor, kodicursor): def maintainViews(self, embycursor, kodicursor):
"""
Reverse engineering:
Input:
embycursor
kodicursor
Output:
vnodes.viewNode(totalnodes, foldername, mediatype, viewtype)
kodi_db.createTag(foldername)
kodi_db.updateTag(current_tagid, tagid, item[0],Current_viewtype[:-1])
"""
# Compare the views to emby # Compare the views to emby
emby_db = embydb.Embydb_Functions(embycursor) emby_db = embydb.Embydb_Functions(embycursor)
kodi_db = kodidb.Kodidb_Functions(kodicursor) kodi_db = kodidb.Kodidb_Functions(kodicursor)