Advertisement
syst3mw0rm

HyperKitty RESTish URL

Apr 5th, 2012
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. === modified file 'urls.py'
  2. --- urls.py 2012-04-05 05:41:20 +0000
  3. +++ urls.py 2012-04-05 16:55:26 +0000
  4. @@ -31,6 +31,10 @@
  5. url(r'^message/(?P<mlist_fqdn>.*@.*)/(?P<messageid>.+)$', 'views.pages.message'),
  6. # Search
  7. #url(r'^search$', 'views.pages.search'),
  8. + # If page number is present in URL
  9. + url(r'^search/(?P<mlist_fqdn>.*@.*)\/(?P<target>.*)\/(?P<keyword>.*)\/(?P<page>.*)$', 'views.pages.search_keyword'),
  10. + url(r'^search/(?P<mlist_fqdn>.*@.*)\/(?P<target>.*)\/(?P<keyword>.*)\/(?P<page>.*)/$', 'views.pages.search_keyword'),
  11. + # Show the first page as default when no page number is present in URL
  12. url(r'^search/(?P<mlist_fqdn>.*@.*)\/(?P<target>.*)\/(?P<keyword>.*)$', 'views.pages.search_keyword'),
  13. url(r'^search/(?P<mlist_fqdn>.*@.*)\/(?P<target>.*)\/(?P<keyword>.*)/$', 'views.pages.search_keyword'),
  14. url(r'^search/(?P<mlist_fqdn>.*@.*)$', 'views.pages.search'),
  15.  
  16. === modified file 'views/pages.py'
  17. --- views/pages.py 2012-04-05 05:41:20 +0000
  18. +++ views/pages.py 2012-04-05 16:55:51 +0000
  19. @@ -200,7 +200,7 @@
  20. })
  21. return HttpResponse(t.render(c))
  22.  
  23. -def _search_results_page(request, mlist_fqdn, query_string, search_type):
  24. +def _search_results_page(request, mlist_fqdn, query_string, page, search_type):
  25. search_form = SearchForm(auto_id=False)
  26. t = loader.get_template('search.html')
  27.  
  28. @@ -214,12 +214,6 @@
  29.  
  30. paginator = Paginator(threads, 25) # Show 25 threads per page
  31.  
  32. - page = request.GET.get('page')
  33. - try:
  34. - page = int(request.GET.get('page', '1'))
  35. - except ValueError:
  36. - page = 1
  37. -
  38. # If page request (9999) is out of range, deliver last page of results.
  39. try:
  40. threads = paginator.page(page)
  41. @@ -266,7 +260,7 @@
  42. return HttpResponseRedirect(url)
  43.  
  44.  
  45. -def search_keyword(request, mlist_fqdn, target=None, keyword=None):
  46. +def search_keyword(request, mlist_fqdn, target=None, keyword=None, page=1):
  47. if not keyword:
  48. keyword = request.GET.get('keyword')
  49. if not target:
  50. @@ -274,7 +268,6 @@
  51. if not target:
  52. target = 'Subject'
  53. regex = '.*%s.*' % keyword
  54. -
  55. if target == 'SubjectContent':
  56. query_string = {'$or' : [
  57. {'Subject': re.compile(regex, re.IGNORECASE)},
  58. @@ -282,7 +275,7 @@
  59. ]}
  60. else:
  61. query_string = {target.capitalize(): re.compile(regex, re.IGNORECASE)}
  62. - return _search_results_page(request, mlist_fqdn, query_string, 'Search')
  63. + return _search_results_page(request, mlist_fqdn, query_string, page, 'Search')
  64.  
  65.  
  66. def search_tag(request, mlist_fqdn, tag=None):
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement