Skip to content

Commit

Permalink
#13 - Only import dependencies when needed
Browse files Browse the repository at this point in the history
  • Loading branch information
PidgeyL committed Apr 28, 2016
1 parent 156809d commit beefb71
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions bin/visualizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,12 @@
import argparse
import json

from lib.PDFParser import pdfify
from lib.WebDisplay import WebDisplay
from lib.TermDisplay import TermDisplay
visuals={'web': {'import': 'from lib.WebDisplay import WebDisplay',
'exec': 'WebDisplay.start(scan=data)'},
'term': {'import': 'from lib.TermDisplay import TermDisplay',
'exec': 'TermDisplay.start(scan=data)'},
'pdf': {'import': 'from lib.PDFParser import pdfify',
'exec': 'pdfify(data, args.p)'} }

def filtersFromArgs(args):
# populate filters
Expand Down Expand Up @@ -56,10 +59,14 @@ def visualize(data, exploitOnly=False, filters={}, display="web"):
service['cves']=filter(service['cves'], exploitOnly, filters)
# display using the correct method
try:
if display == "web": WebDisplay.start(scan=data)
elif display == "term": TermDisplay.start(scan=data)
elif display == "pdf": pdfify(data, args.p)
else: sys.exit("Could not visualize: Unknown display (%s)"%display)
if not display in visuals.keys():
sys.exit("Could not visualize: Unknown display (%s)"%display)
# try to import requirements
try:
exec(visuals[display]['import'])
except:
sys.exit("Could not visualize due to missing dependencies")
exec(visuals[display]['exec'])
except KeyboardInterrupt:
pass

Expand Down

0 comments on commit beefb71

Please sign in to comment.