mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-13 13:50:07 +00:00
add file search
This commit is contained in:
58
search.py
Normal file
58
search.py
Normal file
@@ -0,0 +1,58 @@
|
||||
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['keyword']
|
||||
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))
|
Reference in New Issue
Block a user