code: def percent_encode(text, encode_set=DEFAULT_ENCODE_SET, encoding='utf-8'):
      '''Percent encode text.
  
      Unlike Python's ``quote``, this function accepts a blacklist instead of
      a whitelist of safe characters.
      '''
      byte_string = text.encode(encoding)
  
      try:
          mapping = _percent_encoder_map_cache[encode_set]
      except KeyError:
          mapping = _percent_encoder_map_cache[encode_set] = PercentEncoderMap(
              encode_set).__getitem__
  
      return ''.join([mapping(char) for char in byte_string]f percent_encode(text, encode_set=DEFAULT_ENCODE_SET, encoding='utf-8'):
      '''Percent encode text.
  
      Unlike Python's ``quote``, this function accepts a blacklist instead of
      a whitelist of safe characters.
      '''
      byte_string = text.encode(encoding)
  
      try:
          mapping = _percent_encoder_map_cache[encode_set]
      except KeyError:
          mapping = _percent_encoder_map_cache[encode_set] = PercentEncoderMap(
              encode_set).__getitem__
  
      return ''.join([mapping(char) for char in byte_string])
docs: Percent encode text.
  
      Unlike Python's ``quote``, this function accepts a blacklist instead of
      a whitelist of safe characters.