def fixurl(self, url, baseurl=None, unquote=True): url = fixurl(url, unquote=True) baseurl = fixurl(baseurl or self.pyfile.url, unquote=True) if not urlparse.urlparse(url).scheme: url_p = urlparse.urlparse(baseurl) baseurl = "%s://%s" % (url_p.scheme, url_p.netloc) url = urlparse.urljoin(baseurl, url) return fixurl(url, unquote)
def get_info(cls, url="", html=""): url = fixurl(url, unquote=True) info = { "name": parse_name(url), "pattern": {}, "size": 0, "status": 3 if url else 8, "url": replace_patterns(url, cls.URL_REPLACEMENTS), } try: info["pattern"] = re.match(cls.__pattern__, url).groupdict() except Exception: pass return info