def _get_loader_for_url(self, url):
        """
        Determine loading method based on uri
        """
        parts = url.split('://', 1)
        if len(parts) < 2:
            type_ = 'file'
        else:
            type_ = parts[0]

        if '+' in type_:
            profile_name, scheme = type_.split('+', 1)
            if len(parts) == 2:
                url = scheme + '://' + parts[1]
        else:
            profile_name = ''
            scheme = type_

        loader = self.cached.get(type_)
        if loader:
            return loader, url

        loader_cls = self._get_loader_class_for_type(scheme)

        if not loader_cls:
            raise IOError('No Loader for type: ' + scheme)

        profile = self.kwargs

        if self.profile_loader:
            profile = self.profile_loader(profile_name, scheme)

        loader = loader_cls(**profile)

        self.cached[type_] = loader
        return loader, url
def _get_loader_for_url ( self , url ) : parts = url . split ( '://' , 1 ) if len ( parts ) < 2 : type_ = 'file' else : type_ = parts [ 0 ] if '+' in type_ : profile_name , scheme = type_ . split ( '+' , 1 ) if len ( parts ) == 2 : url = scheme + '://' + parts [ 1 ] else : profile_name = '' scheme = type_ loader = self . cached . get ( type_ ) if loader : return loader , url loader_cls = self . _get_loader_class_for_type ( scheme ) if not loader_cls : raise IOError ( 'No Loader for type: ' + scheme ) profile = self . kwargs if self . profile_loader : profile = self . profile_loader ( profile_name , scheme ) loader = loader_cls ( ** profile ) self . cached [ type_ ] = loader return loader , url
Determine loading method based on uri