handlers.py
changeset 75 c5ce145fdd70
parent 74 1ab95857d584
child 76 cc3ab2c39ded
equal deleted inserted replaced
74:1ab95857d584 75:c5ce145fdd70
   163         date            = date,
   163         date            = date,
   164         lines           = lines,
   164         lines           = lines,
   165     )
   165     )
   166 
   166 
   167 @preferences.handler(prefs.formatter, prefs.count)
   167 @preferences.handler(prefs.formatter, prefs.count)
   168 def channel_search (request, channel, formatter, count, q=None, skip=0, max=None) :
   168 def channel_search (request, channel, formatter, count, q=None, page=1, max=1) :
   169     """
   169     """
   170         Display the search form for the channel for GET, or do the search for POST
   170         Display the search form for the channel for GET, or do the search for POST.
   171     """
   171     """
       
   172 
       
   173     # calculate skip offset from page/count
       
   174     skip = page * count
   172 
   175 
   173     # got a search query?
   176     # got a search query?
   174     if q :
   177     if q :
   175         try :
   178         try :
   176             # do search
   179             # do search
   177             lines = search_index.search_simple(channel, q, count, skip)
   180             lines = search_index.search_simple(channel, q, count, skip)
       
   181 
       
   182             # update max?
       
   183             if max and page > max :
       
   184                 max = page
   178         
   185         
   179         except log_search.NoResultsFound :
   186         except log_search.NoResultsFound :
   180             # no lines
   187             # no lines
   181             lines = None
   188             lines = None
   182 
   189 
   192         req             = request,
   199         req             = request,
   193         prefs           = request.prefs,
   200         prefs           = request.prefs,
   194         channel         = channel,
   201         channel         = channel,
   195         search_query    = q,
   202         search_query    = q,
   196         count           = count,
   203         count           = count,
       
   204         page            = page,
   197         skip            = skip,
   205         skip            = skip,
   198         max             = max,
   206         max             = max,
   199         lines           = lines,
   207         lines           = lines,
   200     )
   208     )
   201 
   209