예제 #1
0
파일: model.py 프로젝트: web880/xbmc-israel
 def absolute_uri(self):
     if parser.is_url(self.uri):
         return self.uri
     else:
         if self.baseuri is None:
             raise ValueError('There can not be `absolute_uri` with no `baseuri` set')
         return _urijoin(self.baseuri, self.uri)
예제 #2
0
파일: model.py 프로젝트: web880/xbmc-israel
def _urijoin(baseuri, path):
    if parser.is_url(baseuri):
        parsed_url = urlparse.urlparse(baseuri)
        prefix = parsed_url.scheme + '://' + parsed_url.netloc
        new_path = os.path.normpath(parsed_url.path + '/' + path)
        return urlparse.urljoin(prefix, new_path.strip('/'))
    else:
        return os.path.normpath(os.path.join(baseuri, path.strip('/')))
예제 #3
0
def load(uri):
    '''
    Retrieves the content from a given URI and returns a M3U8 object.
    Raises ValueError if invalid content or IOError if request fails.
    '''
    if is_url(uri):
        return _load_from_uri(uri)
    else:
        return _load_from_file(uri)