def __call__(self, persist=None, **kwargs):
        """Instantiate DataSource with given user arguments

        Parameters
        ----------
        persist: str or None
            Override persistence mode defined in the parent catalog. If not
            None, must be one of ['always', 'never', 'default']. Has no
            effect if the source has never been persisted, use source.persist()
        """
        from ..container.persist import store

        if persist is not None and persist not in [
                'always', 'never', 'default']:
            raise ValueError('Persist value (%s) not understood' % persist)
        persist = persist or self._pmode
        s = self.get(**kwargs)
        if s.has_been_persisted and persist is not 'never':
            s2 = s.get_persisted()
            met = s2.metadata
            if persist is 'always' or not met['ttl']:
                return s2
            if met['ttl'] < time.time() - met['timestamp']:
                return s2
            else:
                return store.refresh(s2)
        return s
def __call__ ( self , persist = None , ** kwargs ) : from . . container . persist import store if persist is not None and persist not in [ 'always' , 'never' , 'default' ] : raise ValueError ( 'Persist value (%s) not understood' % persist ) persist = persist or self . _pmode s = self . get ( ** kwargs ) if s . has_been_persisted and persist is not 'never' : s2 = s . get_persisted ( ) met = s2 . metadata if persist is 'always' or not met [ 'ttl' ] : return s2 if met [ 'ttl' ] < time . time ( ) - met [ 'timestamp' ] : return s2 else : return store . refresh ( s2 ) return s
Instantiate DataSource with given user arguments

        Parameters
        ----------
        persist: str or None
            Override persistence mode defined in the parent catalog. If not
            None, must be one of ['always', 'never', 'default']. Has no
            effect if the source has never been persisted, use source.persist()