def load_conf(self, fd, *, path=None, mime_type=None, response=None):
if isinstance(response, http.client.HTTPResponse):
url = URL(response.geturl())
self.uris.append(url)
mime_type = response.headers.get('Content-Type')
if mime_type:
mime_type = mime_type.split(';')[0].strip()
logger.info('Config found: {} [{}]'.format(url, mime_type))
if path:
loader = registry.get(path.suffix)
path = path.absolute()
self.uris.append(path)
logger.info('Config found: {}'.format(path))
elif mime_type in registry:
loader = registry.get(mime_type)
elif mimetypes.guess_extension(mime_type) in registry:
loader = registry.get(mimetypes.guess_extension(mime_type))
elif not mime_type:
raise LookupError('Not found mime_type %s' % mime_type)
else:
raise NotImplemented
if response is not None:
return loader.load_bytes(response.read())
elif fd is None:
return loader.load_path(path)
with fd:
return loader.load_fd(fd)
评论列表
文章目录