Example #1
0
 def get_filename(self):
     _filename = getattr(self, "_filename", None)
     if _filename is None:
         _uri = getattr(self, "_uri", None)
         if _uri:
             parsed_path = urlparse.urlparse(_uri)
             _filename = basename(parsed_path.path)
             if not _filename:
                 _filename = str(uuid.uuid4())
             self._filename = _filename
     return _filename
Example #2
0
    def absolute_url(self, url, base_url=None):

        # In: some url
        # Out: (absolute_url, relative_url) based on self._base_url

        if base_url is None:
            base_url = self.base_url

        if base_url is None:
            return url

        parsed_url = urlparse.urlsplit(url)
        if parsed_url.scheme:
            # is absolute_url
            return url
        else:
            # http://xxx.com/../../template/overdoze_team/css/style.css -> http://xxx.com/template/overdoze_team/css/style.css
            # см. http://teethgrinder.co.uk/perm.php?a=Normalize-URL-path-python
            joined = urlparse.urljoin(self.base_url, url)
            url = urlparse.urlparse(joined)
            path = posixpath.normpath(url[2])
            return urlparse.urlunparse((url.scheme, url.netloc, path, url.params, url.query, url.fragment))