code: def _recursive_url_find(self, item, image_list):
          
  
          recursive_fn = partial(self._recursive_url_find, image_list=image_list)
  
          if isinstance(item, list):
              list(map(recursive_fn, item))
  
          elif isinstance(item, dict):
              if 'url' in item:
                  if item['url']:
                      item['url'], image_file = self.set_image(item['url'])
                      image_list += image_file
  
              for field, field_data in item.items():
                  if isinstance(field_data, dict):
                      self._recursive_url_find(field_data, image_list)
                  elif isinstance(field_data, list):
                      list(map(recursive_fn, field_data))
docs: Recursively traverses a dictionary-like data structure for Khan Academy
          assessment items in order to search for image links in `url` data attributes,
          and if it finds any it adds them to `image_list` and rewrites `url` attribute.
          Use cases:
            - `backgroundImage.url` attributes for graphs and images
  
          Args:
              item (dict): KA assessment item; will be modified in place
              image_list (list): image files (File objects) found during the traversal
          Returns: None