Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
generator function solution in Clear category for URL Normalization by David_Jones
PERCENT_ENCODED = set('abcdefghijklmnopqrstuvwxyz0123456789-._~')
def decoded_parts(url):
for part in url.lower().split('%'):
if part.startswith('http'):
yield part
else:
ch = chr(int(part[:2], 16)).lower()
if ch in PERCENT_ENCODED:
yield ch + part[2:]
else:
yield '%' + part[:2].upper() + part[2:]
def checkio(url):
url = ''.join(decoded_parts(url))
if url.endswith(':80') or ':80/' in url:
url = url.replace(':80', '')
parts = []
for part in url.split('/'):
if part == '..':
parts.pop()
elif part != '.':
parts.append(part)
return '/'.join(parts)
June 18, 2019
Comments: