docs: def download(self, temp_ver, store_metadata=True):
          """
          Retrieve the given template version
  
          Args:
              temp_ver (TemplateVersion): template version to retrieve
              store_metadata (bool): If set to ``False``, will not refresh the
                  local metadata with the retrieved one
  
          Returns:
              None
          """
          dest = self._prefixed(temp_ver.name)
          temp_dest = '%s.tmp' % dest
  
          with utils.LockFile(dest + '.lock'):
              # Image was downloaded while we were waiting
              if os.path.exists(dest):
                  return
  
              temp_ver.download(temp_dest)
              if store_metadata:
                  with open('%s.metadata' % dest, 'w') as f:
                      utils.json_dump(temp_ver.get_metadata(), f)
  
              sha1 = utils.get_hash(temp_dest)
              if temp_ver.get_hash() != sha1:
                  raise RuntimeError(
                      'Image %s does not match the expected hash %s' % (
                          temp_ver.name,
                          sha1,
                      )
                  )
  
              with open('%s.hash' % dest, 'w') as f:
                  f.write(sha1)
  
              with log_utils.LogTask('Convert image', logger=LOGGER):
                  result = utils.run_command(
                      [
                          'qemu-img',
                          'convert',
                          '-O',
                          'raw',
                          temp_dest,
                          dest,
                      ],
                  )
  
                  os.unlink(temp_dest)
                  if result:
                      raise RuntimeError(result.err)