mirror of
https://github.com/haiwen/seahub.git
synced 2025-06-24 14:12:03 +00:00
59 lines
1.8 KiB
Python
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))
|