def find_citations(rank_method_code, recID, hitset, verbose): """Rank by the amount of citations.""" #calculate the cited-by values for all the members of the hitset #returns: ((recordid,weight),prefix,postfix,message) global voutput voutput = "" #If the recID is numeric, return only stuff that cites it. Otherwise return #stuff that cites hitset #try to convert to int recisint = True recidint = 0 try: recidint = int(recID) except: recisint = False ret = [] if recisint: myrecords = get_cited_by(recidint) #this is a simple list ret = get_cited_by_weight(myrecords) else: ret = get_cited_by_weight(hitset) ret.sort(lambda x,y:cmp(x[1],y[1])) #ascending by the second member of the tuples if verbose > 0: voutput = voutput+"\nrecID "+str(recID)+" is int: "+str(recisint)+" hitset "+str(hitset)+"\n"+"find_citations retlist "+str(ret) #voutput = voutput + str(ret) if ret: return (ret,"(", ")", "") else: return ((),"", "", "")
def rank_by_citations(hitset, verbose): """Rank by the amount of citations. Calculate the cited-by values for all the members of the hitset Rreturns: ((recordid,weight),prefix,postfix,message) """ voutput = "" if len(hitset) > CFG_WEBSEARCH_CITESUMMARY_SCAN_THRESHOLD: cites_counts = get_citation_dict("citations_counts") ret = [(recid, weight) for recid, weight in cites_counts if recid in hitset] recids_without_cites = hitset - get_citation_dict("citations_keys") ret.extend([(recid, 0) for recid in recids_without_cites]) ret = list(reversed(ret)) else: ret = get_cited_by_weight(hitset) ret.sort(key=itemgetter(1)) if verbose > 0: voutput += "\nhitset %s\nrank_by_citations ret %s" % (hitset, ret) if ret: return ret, "(", ")", voutput else: return [], "", "", voutput
def rank_by_citations(hitset, verbose): """Rank by the amount of citations. Calculate the cited-by values for all the members of the hitset Returns: ((recordid,weight),prefix,postfix,message) """ voutput = "" if len(hitset) > CFG_WEBSEARCH_CITESUMMARY_SCAN_THRESHOLD: cites_counts = get_citation_dict('citations_counts') citedhitset = hitset & get_citation_dict('citations_keys') ret = [ recweight for recweight in cites_counts if recweight[0] in citedhitset ] hitset_without_cites = hitset - citedhitset ret.extend([(recid, 0) for recid in hitset_without_cites]) ret = list(reversed(ret)) else: ret = get_cited_by_weight(hitset) ret.sort(key=itemgetter(1)) if verbose > 0: voutput += "\nhitset %s\nrank_by_citations ret %s" % (hitset, ret) if ret: return ret, "(", ")", voutput else: return [], "", "", voutput