Newer
Older
#! /usr/bin/env python3
from urllib import parse
import re
import sys
def fix_quoted(s: str) -> str:
payload = s.strip('"')
fixed = parse.quote(payload)
fixed = fixed.replace('http%3A', 'http:')
fixed = fixed.replace('https%3A', 'https:')
return '"%s"' % fixed
def print_fixed_line(line: str):
# https://stackoverflow.com/questions/249791
regex = r"(\"(?:[^\"]|\\.)*\")"
matches = re.findall(regex, line)
for match in matches:
fixed = fix_quoted(match)
line = line.replace(match, fixed)
print(line, end='')
def main():
for line in sys.stdin:
print_fixed_line(line)
if __name__ == '__main__':
try:
main()
except (KeyboardInterrupt, SystemExit, BrokenPipeError):
pass