@@ -56,10 +56,16 @@ def _get_url_for_client_instance(self, client_class):
5656 return self .base_url
5757 else :
5858 resource_areas = self ._get_resource_areas ()
59+ if resource_areas is None :
60+ raise VstsClientRequestError (('Failed to retrieve resource areas '
61+ + 'from server: {url}' ).format (url = self .base_url ))
62+ if len (resource_areas ) == 0 :
63+ # For OnPrem environments we get an empty list.
64+ return self .base_url
5965 for resource_area in resource_areas :
6066 if resource_area .id .lower () == resource_id .lower ():
6167 return resource_area .location_url
62- raise VstsClientRequestError (('Could not find information for resource area {id}'
68+ raise VstsClientRequestError (('Could not find information for resource area {id} '
6369 + 'from server: {url}' ).format (id = resource_id ,
6470 url = self .base_url ))
6571
@@ -80,8 +86,12 @@ def _get_resource_areas(self, force=False):
8086 elif not force :
8187 logging .info ('File cache miss for resources on: %s' , location_client .normalized_url )
8288 self ._resource_areas = location_client .get_resource_areas ()
89+ if self ._resource_areas is None :
90+ # For OnPrem environments we get an empty collection wrapper.
91+ self ._resource_areas = []
8392 try :
84- serialized = location_client ._base_serialize .serialize_data (self ._resource_areas , '[ResourceAreaInfo]' )
93+ serialized = location_client ._base_serialize .serialize_data (self ._resource_areas ,
94+ '[ResourceAreaInfo]' )
8595 RESOURCE_FILE_CACHE [location_client .normalized_url ] = serialized
8696 except Exception as ex :
8797 logging .exception (str (ex ))
0 commit comments