Added function to filter by primary category
This commit is contained in:
@@ -215,6 +215,7 @@ def main():
|
|||||||
opt_q = request.args.get('q', '') # search request in the text box
|
opt_q = request.args.get('q', '') # search request in the text box
|
||||||
opt_tags = request.args.get('tags', default_tags) # tags to rank by if opt_rank == 'tag'
|
opt_tags = request.args.get('tags', default_tags) # tags to rank by if opt_rank == 'tag'
|
||||||
opt_pid = request.args.get('pid', '') # pid to find nearest neighbors to
|
opt_pid = request.args.get('pid', '') # pid to find nearest neighbors to
|
||||||
|
opt_category_filter = request.args.get('category', '') # primary category to filter
|
||||||
opt_time_filter = request.args.get('time_filter', default_time_filter) # number of days to filter by
|
opt_time_filter = request.args.get('time_filter', default_time_filter) # number of days to filter by
|
||||||
opt_skip_have = request.args.get('skip_have', default_skip_have) # hide papers we already have?
|
opt_skip_have = request.args.get('skip_have', default_skip_have) # hide papers we already have?
|
||||||
opt_svm_c = request.args.get('svm_c', '') # svm C parameter
|
opt_svm_c = request.args.get('svm_c', '') # svm C parameter
|
||||||
@@ -246,6 +247,14 @@ def main():
|
|||||||
else:
|
else:
|
||||||
raise ValueError("opt_rank %s is not a thing" % (opt_rank, ))
|
raise ValueError("opt_rank %s is not a thing" % (opt_rank, ))
|
||||||
|
|
||||||
|
# filter by primary category
|
||||||
|
if opt_category_filter:
|
||||||
|
pdb = get_papers()
|
||||||
|
kv = {k:v for k,v in pdb.items()} # read all of metas to memory at once, for efficiency
|
||||||
|
keep = [i for i,pid in enumerate(pids) if (kv[pid]['arxiv_primary_category']['term'])
|
||||||
|
== opt_category_filter]
|
||||||
|
pids, scores = [pids[i] for i in keep], [scores[i] for i in keep]
|
||||||
|
|
||||||
# filter by time
|
# filter by time
|
||||||
if opt_time_filter:
|
if opt_time_filter:
|
||||||
mdb = get_metas()
|
mdb = get_metas()
|
||||||
|
|||||||
@@ -54,6 +54,10 @@ var move_page = function(int_offset) {
|
|||||||
<label for="pid">pid: </label>
|
<label for="pid">pid: </label>
|
||||||
<input name="pid" type="text" id="pid_field" value="{{ gvars.pid }}">
|
<input name="pid" type="text" id="pid_field" value="{{ gvars.pid }}">
|
||||||
|
|
||||||
|
<!-- current category, simply in a text field -->
|
||||||
|
<label for="category">category: </label>
|
||||||
|
<input name="category" type="text" id="category_field" value="{{ gvars.pid }}" size="8">
|
||||||
|
|
||||||
<!-- current time_filter, in a text field -->
|
<!-- current time_filter, in a text field -->
|
||||||
<label for="time_filter">time_filter (days): </label>
|
<label for="time_filter">time_filter (days): </label>
|
||||||
<input name="time_filter" type="text" id="time_filter_field" value="{{ gvars.time_filter }}">
|
<input name="time_filter" type="text" id="time_filter_field" value="{{ gvars.time_filter }}">
|
||||||
|
|||||||
Reference in New Issue
Block a user