def _DecodeURL(self, url):
    """Decodes the URL, replaces %XX to their corresponding characters.

    Args:
      url (str): encoded URL.

    Returns:
      str: decoded URL.
    """
    if not url:
      return ''

    decoded_url = urlparse.unquote(url)
    if isinstance(decoded_url, py2to3.BYTES_TYPE):
      try:
        decoded_url = decoded_url.decode('utf-8')
      except UnicodeDecodeError as exception:
        decoded_url = decoded_url.decode('utf-8', errors='replace')
        logger.warning(
            'Unable to decode URL: {0:s} with error: {1!s}'.format(
                url, exception))

    return decoded_url
def _DecodeURL ( self , url ) : if not url : return '' decoded_url = urlparse . unquote ( url ) if isinstance ( decoded_url , py2to3 . BYTES_TYPE ) : try : decoded_url = decoded_url . decode ( 'utf-8' ) except UnicodeDecodeError as exception : decoded_url = decoded_url . decode ( 'utf-8' , errors = 'replace' ) logger . warning ( 'Unable to decode URL: {0:s} with error: {1!s}' . format ( url , exception ) ) return decoded_url
Decodes the URL, replaces %XX to their corresponding characters.

    Args:
      url (str): encoded URL.

    Returns:
      str: decoded URL.