示例#1
0
文件: views.py 项目: savix/jnp3
def api_search(request):
    query = request.GET.get('q', '').strip()
    # uodpornienie na "sphinx injection" - pozwala tylko na proste query
    query = re.sub('[{0}]'.format(string.punctuation), '', query)

    limit = min(settings.MAX_LIMIT,
            int(request.GET.get('l', settings.MAX_LIMIT)))
    offset = int(request.GET.get('o', 0))

    if limit <= 0 or offset < 0:
        ret = json.dumps({'error' : 'Incorrect limit or offset'})
    else:
        if query:
            photos, totalFound = Photo.find_by_desc(query, limit, offset)
            ret = {
                'totalFound' : totalFound,
                'query' : query,
                'limit' : limit,
                'offset' : offset,
                'photos' : [{
                    'thumbnailFile': '/thumbnails/%s,%s-160x160.jpg' % (p.owner, p.nb),
                    'photoPage': '/photo/%s,%s' % (p.owner, p.nb),
                    'description': p.desc,
                    } for p in photos]}
        else:
            ret = {'error' : 'Empty query'}

    return HttpResponse(json.dumps(ret, ensure_ascii=False), content_type='application/json')
示例#2
0
def search(request):
    query = request.GET.get('q', '').strip()
    if query:
        photos, _ = Photo.find_by_desc(query, 30, 0)
    else:
        photos = None

    return render(request, 'search.html', {'query': query, 'photos': photos})
示例#3
0
文件: views.py 项目: savix/jnp3
def search(request):
    query = request.GET.get('q', '').strip()
    if query:
        photos, _ = Photo.find_by_desc(query, 30, 0)
    else:
        photos = None

    return render(request, 'search.html', {
        'query': query,
        'photos': photos
    })
示例#4
0
def api_search(request):
    query = request.GET.get('q', '').strip()
    # uodpornienie na "sphinx injection" - pozwala tylko na proste query
    query = re.sub('[{0}]'.format(string.punctuation), '', query)

    limit = min(settings.MAX_LIMIT,
                int(request.GET.get('l', settings.MAX_LIMIT)))
    offset = int(request.GET.get('o', 0))

    if limit <= 0 or offset < 0:
        ret = json.dumps({'error': 'Incorrect limit or offset'})
    else:
        if query:
            photos, totalFound = Photo.find_by_desc(query, limit, offset)
            ret = {
                'totalFound':
                totalFound,
                'query':
                query,
                'limit':
                limit,
                'offset':
                offset,
                'photos': [{
                    'thumbnailFile':
                    '/thumbnails/%s,%s-160x160.jpg' % (p.owner, p.nb),
                    'photoPage':
                    '/photo/%s,%s' % (p.owner, p.nb),
                    'description':
                    p.desc,
                } for p in photos]
            }
        else:
            ret = {'error': 'Empty query'}

    return HttpResponse(json.dumps(ret, ensure_ascii=False),
                        content_type='application/json')