Skip to content

Instantly share code, notes, and snippets.

@AbeHandler
Created September 15, 2014 19:29
Show Gist options
  • Save AbeHandler/06a41295ec986b3d31bc to your computer and use it in GitHub Desktop.
Save AbeHandler/06a41295ec986b3d31bc to your computer and use it in GitHub Desktop.
@app.route('/search/<string:q>', methods=['POST'])
def query_docs(q):
q = q.replace("offset:undefined", "offset:0") # if something goes wrong, just set offset to 0
searchterm = str('projectid: "1542-city-of-new-orleans-contracts"' + " " + q).split("&&")[0].strip()
print searchterm
vendor = getTerm(searchterm, 'vendor')
officers = getTerm(searchterm, 'officers')
department = getTerm(searchterm, 'department')
offset = getOffSet(q)
if offset is None:
return "Server error. Please contact The Lens"
# print '**vendor**' + vendor + '****'
# print '**officers**' + officers + '****'
# print '**department**' + department + '****'
if len(officers) > 0:
officers = [officers]
vendor = translateToVendor(officers[0])
searchterm = searchterm.replace("officers:", "").replace('"' + officers[0] + '"', "") + ' vendor:"' + vendor + '"'
print "vendor {}".format(vendor)
if searchterm == 'projectid: "1542-city-of-new-orleans-contracts"':
docs = getContracts(0, PAGELENGTH)
docs = translateToDocCloudForm(docs)
else:
docs = queryDocumentCloud(searchterm)
# extract a window of PAGELENGTH number of docs
docs = docs[offset*PAGELENGTH:((offset+1)*PAGELENGTH)]
totaldocs = getTotalDocs(searchterm)
pages = (totaldocs/PAGELENGTH)
vendor = vendor.upper()
pages = pages + 1 # increment 1 to get rid of 0 indexing
page = offset + 1 # increment 1 to get rid of 0 indexing
status = getStatus(page, pages, searchterm)
return render_template('documentcloud.html', status=status, docs=docs, offset=offset, totaldocs=totaldocs, page=page, pages=pages, officers=officers, vendor=vendor, query=searchterm)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment