run it, you can get a good stitching of the complete URL.

def do(self):
        "run it, you can get a good stitching of the complete URL."
        return urlunparse((self.scheme, self.netloc, self.path, self.params, self.query, self.fragment))