chg: [lookup] add ranking and output JSON

This commit is contained in:
Alexandre Dulaunoy 2021-09-16 07:33:11 +02:00
parent 98de035a0c
commit 6baaad6f82
Signed by: adulau
GPG key ID: 09E2CD4944E6CBCD

View file

@ -1,10 +1,11 @@
import redis import redis
import argparse import argparse
import sys import sys
import json
rdb = redis.Redis(host='127.0.0.1', port=6379, db=8, decode_responses=True) rdb = redis.Redis(host='127.0.0.1', port=6379, db=8, decode_responses=True)
parser = argparse.ArgumentParser(description='Find potential CPE names from a list of keyword') parser = argparse.ArgumentParser(description='Find potential CPE names from a list of keyword(s) and return a JSON of the results')
parser.add_argument('--word', help='One or more keyword(s) to lookup', action='append') parser.add_argument('--word', help='One or more keyword(s) to lookup', action='append')
args = parser.parse_args() args = parser.parse_args()
@ -25,7 +26,11 @@ for x in reversed(range(maxinter)):
result = set(cpes[0]).intersection(*cpes) result = set(cpes[0]).intersection(*cpes)
print(result)
#for cpe in result: ranked = []
# rdb.zrank
for cpe in result:
rank = rdb.zrank('rank:cpe', cpe)
ranked.append((rank, cpe))
print(json.dumps(sorted(ranked)))