| 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) |