def quote(s, safe = '/'):
    cachekey = (safe, always_safe)
    try:
        safe_map = _safemaps[cachekey]
    except KeyError:
        safe += always_safe
        safe_map = {}
        for i in range(256):
            c = chr(i)
            safe_map[c] = (c in safe) and c or ('%%%02X' % i)
        _safemaps[cachekey] = safe_map
    res = map(safe_map.__getitem__, s)
    return ''.join(res)
quote('abc def') -> 'abc%20def'
dataset/ETHPy150Open ofermend/medicare-demo/socialite/jython/Lib/urllib.py/quote