def test_search_datasets(self): request = testing.DummyRequest() esgfsearch = ESGFSearch(request, url='https://esgf-data.dkrz.de/esg-search') result = esgfsearch.search_datasets() assert len(result['projects']) assert len(result['categories'])
def test_query_params(self): request = testing.DummyRequest() esgfsearch = ESGFSearch(request, url='https://esgf-data.dkrz.de/esg-search') params = esgfsearch.query_params() assert params['distrib'] == 'false' assert params['start'] == 2001 assert params['end'] == 2005
def test_params(self): request = testing.DummyRequest() esgfsearch = ESGFSearch(request, url='https://esgf-data.dkrz.de/esg-search') params = esgfsearch.params() assert params['distrib'] is False assert params['latest'] is True assert params['replica'] is False assert params['start'].year == 2001 assert params['end'].year == 2005
def test_search_items(self): request = testing.DummyRequest( params={ 'dataset_id': 'cordex.output.EUR-44.MPI-CSC.MPI-M-MPI-ESM-LR.historical.r1i1p1.REMO2009.v1.mon.tas.v20150609|esgf1.dkrz.de', # noqa }) setattr(request, 'cart', {}) esgfsearch = ESGFSearch(request, url='https://esgf-data.dkrz.de/esg-search') result = esgfsearch.search_items() assert len(result['items'])
class ESGFSearchActions(object): def __init__(self, request): self.request = request self.session = request.session self.esgfsearch = ESGFSearch(request) def search_datasets(self): result = dict() result.update(self.esgfsearch.query_params()) result.update(self.esgfsearch.search_datasets()) result['form'] = Form(ESGFSearchSchema()) result['quickview'] = True return result def search_items(self): return self.esgfsearch.search_items()
class ESGFSearchActions(object): def __init__(self, request): self.request = request self.session = request.session self.esgfsearch = ESGFSearch(request) def search_datasets(self): if self.request.has_permission('edit'): if not self.request.cert_ok: msg = """<strong>Warning:</strong> You are not allowed to access ESGF data. Please <a href="{0}" class="alert-link">update</a> your ESGF credentials.""" callback = self.request.current_route_path() self.session.flash( msg.format(self.request.route_path('esgflogon', _query=[('callback', callback)])), queue='warning') result = dict() result.update(self.esgfsearch.query_params()) result.update(self.esgfsearch.search_datasets()) result['form'] = Form(ESGFSearchSchema()) result['quickview'] = True return result def search_items(self): return self.esgfsearch.search_items()
def __init__(self, request): self.request = request self.session = request.session self.esgfsearch = ESGFSearch(request)