#!/usr/bin/env python
from __future__ import print_function
import sys

try:
    import urlparse
    from urllib import unquote_plus
except ImportError:
    import urllib.parse as urlparse
    from urllib.parse import unquote_plus


class ParsedURL:
    def __init__(self, url):
        spl = urlparse.urlsplit(url)
        q = urlparse.parse_qs(spl.query)
        q = {unquote_plus(k): [unquote_plus(v) for v in vals] for k, vals in q.items()}
        self.scheme = spl.scheme
        self.netloc = unquote_plus(spl.netloc)
        self.path = unquote_plus(spl.path)
        self.query = q
        self.fragment = unquote_plus(spl.fragment)

    def __str__(self):
        s = """\
SCHEME = %s
NETLOC = %s
PATH = %s
""" % (
            self.scheme,
            self.netloc,
            self.path,
        )
        if self.query:
            s += "ARGS:\n"
            for k in p.query:
                if len(p.query[k]) > 1:
                    for idx, val in enumerate(p.query[k]):
                        s += "\t%s[%d] = %s\n" % (k, idx, val)
                else:
                    s += "\t%s = %s\n" % (k, p.query[k][0])
        return s[:-1]


if __name__ == "__main__":
    p = ParsedURL(sys.argv[1])
    print(str(p))
