code: def get_edxml_with_aws_urls(self):
          
          edxml = self.get_text().text
  
          soup = BeautifulSoup(edxml, 'xml').find('html')
          if soup is None:
              soup = BeautifulSoup('', 'xml')
              soup.append(BeautifulSoup(edxml, 'html5lib'))
  
          attrs = {
              'draggable': ['icon'],
              'drag_and_drop_input': ['img'],
              'files': ['included_files'],
              'img': ['src'],
              'a': ['href'],
              'script': ['src'],
              'video': ['sub', 'youtube', 'youtube_id_1_0'],
              'encoded_video': ['url']
          }
          # replace all file listings with an appropriate path...
          for key, attributes in attrs.items():
              for attr in attributes:
                  local_regex = re.compile('^repository.Asset')
                  search = {attr: local_regex}
                  tags = soup.find_all(**search)
                  for item in tags:
                      asset_id = item[attr]
                      asset_content = self._get_asset_content(Id(asset_id))
                      item[attr] = asset_content.get_url()
          if '<video>' in edxml:
              return soup.find('video').prettify()
          elif '<videoalpha' in edxml:
              return soup.find('videoalpha').prettify()
          elif '<discussion>' in edxml:
              return soup.find('discussion').prettify()
          else:
              return soup.prettify()
docs: stub