code: def __replace_image_links(self):
          
  
          image_expr = "//draw:frame[starts-with(@draw:name, 'py3o.')]"
  
          for content_tree in self.content_trees:
  
              # Find draw:frame tags.
              for draw_frame in content_tree.xpath(
                  image_expr,
                  namespaces=self.namespaces
              ):
                  # Find the identifier of the image (py3o.[identifier]).
                  image_id = draw_frame.attrib[
                      '{%s}name' % self.namespaces['draw']
                  ][5:]
                  if image_id not in self.images:
                      if not self.ignore_undefined_variables:
                          raise TemplateException(
                              "Can't find data for the image named 'py3o.%s'; "
                              "make sure it has been added with the "
                              "set_image_path or set_image_data methods."
                              % image_id
                          )
                      else:
                          continue
  
                  # Replace the xlink:href attribute of the image to point to
                  # ours.
                  image = draw_frame[0]
                  image.attrib[
                      '{%s}href' % self.namespaces['xlink']
                  ] = PY3O_IMAGE_PREFIX + image_id
docs: Replace links of placeholder images (the name of which starts with
          "py3o.") to point to a file saved the "Pictures" directory of the
          archive.