1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-06-24 14:12:03 +00:00
seahub/search.py
2013-03-09 17:05:02 +08:00

59 lines
1.8 KiB
Python

import settings
import os
import stat
import simplejson as json
import re
import tempfile
import sys
import urllib
import urllib2
import logging
import chardet
from urllib import quote
from django.core.cache import cache
from django.core.urlresolvers import reverse
from django.core.mail import send_mail
from django.contrib import messages
from django.contrib.sites.models import Site, RequestSite
from django.db import IntegrityError
from django.db.models import F
from django.http import HttpResponse, HttpResponseBadRequest, Http404, \
HttpResponseRedirect
from django.shortcuts import render_to_response, redirect
from django.template import Context, loader, RequestContext
from django.template.loader import render_to_string
from django.utils.hashcompat import md5_constructor
from django.utils.translation import ugettext as _
from django.views.generic.base import TemplateView, TemplateResponseMixin
from django.views.generic.edit import BaseFormView, FormMixin
from auth.decorators import login_required
from seahub.utils import search_file_by_name
@login_required
def search(request):
keyword = request.GET['q']
current_page = int(request.GET.get('page', '1'))
per_page= int(request.GET.get('per_page', '25'))
start = (current_page - 1) * per_page
size = per_page
results, total = search_file_by_name(request, keyword, start, size)
if total > current_page * per_page:
has_more = True
else:
has_more = False
return render_to_response('search_results.html', {
'keyword': keyword,
'results': results,
'total': total,
'has_more': has_more,
'current_page': current_page,
'prev_page': current_page - 1,
'next_page': current_page + 1,
'per_page': per_page,
}, context_instance=RequestContext(request))