Example #1
0
def search_by_keyword(request):
	keyword = request.GET.get('keyword') or ''
	
	# we can only do full text search on two words for now
	if len( re.split("\s*", keyword) ) > 2:
	    keyword = " ".join( re.split("\s*", keyword)[:2] )

	template_params = {
	    'keyword': keyword,
	    'dev': os.environ["SERVER_SOFTWARE"].find('Development') != -1
	}
	template_params.update(global_template_params())
	
	if keyword:
		# Search the 'Contract' Entity based on our keyword
		#query = search.SearchableQuery('Contract')
		#query.Search(keyword)
		#results = query.Get(50)
		query = Contract.all().search(keyword)
		more_template_params = _process_query(request, query)
		template_params.update(more_template_params)
	else:
	    pass
	
	return render_to_response('search_results.html', template_params)
Example #2
0
def search_by_prop(request, prop=None, keyword=None):
    template_params = {
	    'keyword': keyword,
	    'prop': prop,
	}
    template_params.update(global_template_params())
    
    if keyword and prop:
	    query = Contract.all()
	    query.filter("%s =" % prop, keyword)
	    more_template_params = _process_query(request, query)
	    template_params.update(more_template_params)
    else:
	    pass
    
    return render_to_response('search_results.html', template_params)
Example #3
0
def search_by_keyword(request):
	keyword = request.GET.get('keyword') or ''
	
	template_params = {
	    'keyword': keyword,
	    'dev': os.environ["SERVER_SOFTWARE"].find('Development') != -1
	}
	template_params.update(global_template_params)
	
	if keyword:
		# Search the 'Contract' Entity based on our keyword
		#query = search.SearchableQuery('Contract')
		#query.Search(keyword)
		#results = query.Get(50)
		query = Contract.all().search(keyword)
		more_template_params = _process_query(request, query)
		template_params.update(more_template_params)
	else:
	    pass
	
	return render_to_response('search_results.html', template_params)
Example #4
0
def rpc_search_by_keyword(request):
    keyword = request.GET.get('keyword') or ''
    offset = int(request.GET.get('offset') or 0)
    limit = 50
    
    response = {
        'keyword': keyword,
        'CURRENT_VERSION_ID': os.environ['CURRENT_VERSION_ID']
    }
    if keyword:
        resultset = []
    	query = Contract.all().search(keyword)
    	results = query.fetch(limit, offset)
    	#XXX django simplejson can't understand db.Model entities yet
    	for result in results:
            result.contract_value = result.contract_value.replace('$', '')
            result.contract_value = result.contract_value.replace(',', '')
            try:
                result.contract_value = float(result.contract_value)
            except:
                # contract_value could have chars
                pass
            
            resultset.append({
                'agency_name' : result.agency_name,
                'vendor_name' : result.vendor_name,
                'contract_value' : result.contract_value,
                'contract_date': result.contract_date,
                'description': result.description,
                'comments': result.comments,
                'uri': result.uri,
                 })
    	response['resultset'] = resultset
    else:
        pass
    
    return HttpResponse(simplejson.dumps(response), mimetype='application/javascript')