From c055f4e68c122f59d5a120ac557263c402e5191e Mon Sep 17 00:00:00 2001 From: Rogdham Date: Wed, 1 Jun 2016 16:19:41 +0200 Subject: [PATCH] [EUPI] Simplify hover --- modules/expansion/eupi.py | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/modules/expansion/eupi.py b/modules/expansion/eupi.py index 6057b1a..91eab11 100755 --- a/modules/expansion/eupi.py +++ b/modules/expansion/eupi.py @@ -27,11 +27,19 @@ def handler(q=False): return misperrors if not request.get('config') and not (request['config'].get('apikey') and request['config'].et('url')): - misperrors['error'] = 'Phishing Initiative authentication is missing' + misperrors['error'] = 'EUPI authentication is missing' return misperrors - p = PyEUPI(request['config']['apikey'], request['config']['url']) - results = p.search_url(url=toquery) + pyeupi = PyEUPI(request['config']['apikey'], request['config']['url']) + + if 'event_id' in request: + return handle_expansion(pyeupi, toquery) + else: + return handle_hover(pyeupi, toquery) + + +def handle_expansion(pyeupi, url): + results = pyeupi.search_url(url=url) if results.get('results'): to_return = '' @@ -42,8 +50,22 @@ def handler(q=False): if to_return: return {'results': [{'types': mispattributes['output'], 'values': to_return}]} else: - misperrors['error'] = 'Unknown in the Phishing Initiative service' + misperrors['error'] = 'Unknown in the EUPI service' return misperrors + else: + misperrors['error'] = 'Error in EUPI lookup' + return misperrors + + +def handle_hover(pyeupi, url): + try: + result = pyeupi.lookup(url=url)['results'][0] + except (KeyError, IndexError): + misperrors['error'] = 'Error in EUPI lookup' + return misperrors + + return {'results': [{'types': mispattributes['output'], + 'values': result['tag_label'].title()}]} def introspection():