MCPcopy
hub / github.com/iBaa/PlexConnect / TREE_ADDXML

Method TREE_ADDXML

XMLConverter.py:898–930  ·  view source on GitHub ↗
(self, elem, child, src, srcXML, param)

Source from the content-addressed store, hash-verified

896 return False # tree unchanged
897
898 def TREE_ADDXML(self, elem, child, src, srcXML, param):
899 tag, leftover = self.getParam(src, param)
900 key, leftover, dfltd = self.getKey(src, srcXML, leftover)
901
902 PMS_address = self.PMS_address
903
904 if key.startswith('//'): # local servers signature
905 pathstart = key.find('/',3)
906 PMS_address= key[:pathstart]
907 path = key[pathstart:]
908 elif key.startswith('/'): # internal full path.
909 path = key
910 #elif key.startswith('http://'): # external address
911 # path = key
912 elif key == '': # internal path
913 path = self.path[srcXML]
914 else: # internal path, add-on
915 path = self.path[srcXML] + '/' + key
916
917 if PMS_address in ['all', 'owned', 'shared', 'local', 'remote']:
918 # owned, shared PMSs
919 type = PMS_address
920 PMS = PlexAPI.getXMLFromMultiplePMS(self.ATV_udid, path, type, self.options)
921 else:
922 # IP:port or plex.tv
923 auth_token = PlexAPI.getPMSProperty(self.ATV_udid, self.PMS_uuid, 'accesstoken')
924 enableGzip = PlexAPI.getPMSProperty(self.ATV_udid, self.PMS_uuid, 'enableGzip')
925 PMS = PlexAPI.getXMLFromPMS(self.PMS_baseURL, path, self.options, auth_token, enableGzip)
926
927 self.PMSroot[tag] = PMS.getroot() # store additional PMS XML
928 self.path[tag] = path # store base path
929
930 return False # tree unchanged (well, source tree yes. but that doesn't count...)
931
932 def TREE_VAR(self, elem, child, src, srcXML, param):
933 var, leftover = self.getParam(src, param)

Callers

nothing calls this directly

Calls 2

getParamMethod · 0.80
getKeyMethod · 0.80

Tested by

no test coverage detected