예제 #1
0
 def base_url(self, value):
     components = urlparse.urlsplit(value)
     if components.path or components.query or components.fragment:
         raise exceptions.ConfigurationValueError('Invalid base url: %s' %
                                                  value)
     self.__scheme = components.scheme
     self.__netloc = components.netloc
 def __ValidateChunksize(self, chunksize=None):
     if self.__server_chunk_granularity is None:
         return
     chunksize = chunksize or self.chunksize
     if chunksize % self.__server_chunk_granularity:
         raise exceptions.ConfigurationValueError(
             'Server requires chunksize to be a multiple of %d',
             self.__server_chunk_granularity)
예제 #3
0
 def __init__(self, base_url, relative_path=None, query_params=None):
     components = urlparse.urlsplit(
         urlparse.urljoin(base_url, relative_path or ''))
     if components.fragment:
         raise exceptions.ConfigurationValueError(
             'Unexpected url fragment: %s' % components.fragment)
     self.query_params = urlparse.parse_qs(components.query or '')
     if query_params is not None:
         self.query_params.update(query_params)
     self.__scheme = components.scheme
     self.__netloc = components.netloc
     self.relative_path = components.path
예제 #4
0
 def url(self):
     if '{' in self.relative_path or '}' in self.relative_path:
         raise exceptions.ConfigurationValueError(
             'Cannot create url with relative path %s' % self.relative_path)
     return urlparse.urlunsplit(
         (self.__scheme, self.__netloc, self.relative_path, self.query, ''))