Esempio n. 1
0
 def _search(self, searchString=None, searchID=None, ipage=0,
             block_size=10, session=None):
     import arxiv
     ipage = int(ipage)
     block_size = int(block_size)
     if session is None:
         session = get_session()
     if searchID: # just get this ID
         return ParentCollection._search(self, searchID)
     if not searchString:
         s = view.report_error('empty searchString', 400,
                               'You did not provide a search string.')
         return rest.Response(s)
     elif arxiv.is_id_string(searchString): # just get this ID
         return ParentCollection._search(self, searchString)
     try: # get from existing query results
         queryResults = session['queryResults']
         if queryResults.get_page(ipage, self.collectionArgs['uri'],
                                  searchString=searchString):
             return queryResults
     except KeyError:
         pass # no stored queryResults, so construct it
     pbl = view.PaperBlockLoader(arxiv.search_arxiv,
                                 uri=self.collectionArgs['uri'])
     queryResults = view.MultiplePages(pbl, block_size, ipage,
                                       self.collectionArgs['uri'],
                                       'arXiv.org Search Results',
                                       searchString=searchString)
     session['queryResults'] = queryResults # keep for this user
     return queryResults
Esempio n. 2
0
 def _search(self, searchString=None, searchID=None, ipage=0,
             block_size=10, session=None):
     import arxiv
     ipage = int(ipage)
     block_size = int(block_size)
     if session is None:
         session = cherrypy.session
     if searchID: # just get this ID
         return ParentCollection._search(self, searchID)
     elif arxiv.is_id_string(searchString): # just get this ID
         return ParentCollection._search(self, searchString)
     try: # get from existing query results
         queryResults = session['queryResults']
         if queryResults.get_page(ipage, self.collectionArgs['uri'],
                                  searchString=searchString):
             return queryResults
     except KeyError:
         pass # no stored queryResults, so construct it
     pbl = view.PaperBlockLoader(arxiv.search_arxiv,
                                 uri=self.collectionArgs['uri'])
     queryResults = view.MultiplePages(pbl, block_size, ipage,
                                       self.collectionArgs['uri'],
                                       searchString=searchString)
     session['queryResults'] = queryResults # keep for this user
     return queryResults
Esempio n. 3
0
 def _search(self,
             searchString=None,
             searchID=None,
             ipage=0,
             block_size=10,
             session=None):
     import arxiv
     ipage = int(ipage)
     block_size = int(block_size)
     if session is None:
         session = get_session()
     if searchID:  # just get this ID
         return ParentCollection._search(self, searchID)
     if not searchString:
         s = view.report_error('empty searchString', 400,
                               'You did not provide a search string.')
         return rest.Response(s)
     elif arxiv.is_id_string(searchString):  # just get this ID
         return ParentCollection._search(self, searchString)
     try:  # get from existing query results
         queryResults = session['queryResults']
         if queryResults.get_page(ipage,
                                  self.collectionArgs['uri'],
                                  searchString=searchString):
             return queryResults
     except KeyError:
         pass  # no stored queryResults, so construct it
     pbl = view.PaperBlockLoader(arxiv.search_arxiv,
                                 uri=self.collectionArgs['uri'])
     queryResults = view.MultiplePages(pbl,
                                       block_size,
                                       ipage,
                                       self.collectionArgs['uri'],
                                       'arXiv.org Search Results',
                                       searchString=searchString)
     session['queryResults'] = queryResults  # keep for this user
     return queryResults