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

Method ATTRIB_URL

XMLConverter.py:1133–1177  ·  view source on GitHub ↗
(self, src, srcXML, param)

Source from the content-addressed store, hash-verified

1131 return res
1132
1133 def ATTRIB_URL(self, src, srcXML, param):
1134 key, leftover, dfltd = self.getKey(src, srcXML, param)
1135 addPath, leftover = self.getParam(src, leftover)
1136 addOpt, leftover = self.getParam(src, leftover)
1137
1138 # compare PMS_mark in PlexAPI/getXMLFromMultiplePMS()
1139 PMS_mark = '/PMS(' + self.PMS_address + ')'
1140
1141 # overwrite with URL embedded PMS address
1142 cmd_start = key.find('PMS(')
1143 cmd_end = key.find(')', cmd_start)
1144 if cmd_start>-1 and cmd_end>-1 and cmd_end>cmd_start:
1145 PMS_mark = '/'+key[cmd_start:cmd_end+1]
1146 key = key[cmd_end+1:]
1147
1148 res = g_param['baseURL'] # base address to PlexConnect
1149
1150 if key.endswith('.js'): # link to PlexConnect owned .js stuff
1151 res = res + key
1152 elif key.startswith('http://') or key.startswith('https://'): # external server
1153 res = key
1154 """
1155 parts = urlparse.urlsplit(key) # (scheme, networklocation, path, ...)
1156 key = urlparse.urlunsplit(('', '', parts[2], parts[3], parts[4])) # keep path only
1157 PMS_uuid = PlexAPI.getPMSFromIP(g_param['PMS_list'], parts.hostname)
1158 PMSaddress = PlexAPI.getAddress(g_param['PMS_list'], PMS_uuid) # get PMS address (might be local as well!?!)
1159 res = res + '/PMS(' + quote_plus(PMSaddress) + ')' + key
1160 """
1161 elif key.startswith('/'): # internal full path.
1162 res = res + PMS_mark + key
1163 elif key == '': # internal path
1164 res = res + PMS_mark + self.path[srcXML]
1165 else: # internal path, add-on
1166 res = res + PMS_mark + self.path[srcXML] + '/' + key
1167
1168 if addPath:
1169 res = res + addPath
1170
1171 if addOpt:
1172 if not '?' in res:
1173 res = res +'?'+ addOpt
1174 else:
1175 res = res +'&'+ addOpt
1176
1177 return res
1178
1179 def ATTRIB_VIDEOURL(self, src, srcXML, param):
1180 Video, leftover = self.getElement(src, srcXML, param)

Callers

nothing calls this directly

Calls 2

getKeyMethod · 0.80
getParamMethod · 0.80

Tested by

no test coverage detected