25
25
import argparse
26
26
import html
27
27
import json
28
+ import os
28
29
import re
29
30
import sqlite3 as sql
30
- import sys
31
31
import time
32
32
import traceback
33
33
from concurrent .futures import ThreadPoolExecutor
@@ -514,8 +514,11 @@ def update_db(args, thread_objs, populate=False):
514
514
if not populate :
515
515
print ("[*] Updating database..." )
516
516
with Database (args .database ) as db :
517
- last = db .cached_metadata ()
518
- extra = f"&lastModStartDate={ last } &lastModEndDate={ now ()} "
517
+ try :
518
+ last = db .cached_metadata ()
519
+ extra = f"&lastModStartDate={ last } &lastModEndDate={ now ()} "
520
+ except TypeError :
521
+ pass
519
522
else :
520
523
print ("[+] Creating database..." )
521
524
@@ -524,6 +527,9 @@ def update_db(args, thread_objs, populate=False):
524
527
resp = cl .get (
525
528
f"{ URL ['nvd' ].format ('cpes' , 0 )} " f"&resultsPerPage=1{ extra } "
526
529
)
530
+ if resp .status_code != 200 :
531
+ print ("[!] Error retrieving information from NVD API" )
532
+ os ._exit (- 1 )
527
533
cpes = resp .json ()["totalResults" ]
528
534
resp = cl .get (
529
535
f"{ URL ['nvd' ].format ('cves' , 0 )} " f"&resultsPerPage=1{ extra } "
@@ -683,9 +689,11 @@ def update_exploitdb(args, thread_objs):
683
689
with api .open () as f :
684
690
KEY = f .read ().strip ()
685
691
else :
686
- print ("[!] NVD API key required in order to retrieve data. "
687
- "Check README.md for more information" )
688
- sys .exit (- 1 )
692
+ print (
693
+ "[!] NVD API key required in order to retrieve data. "
694
+ "Check README.md for more information"
695
+ )
696
+ os ._exit (- 1 )
689
697
690
698
thread_objs = (Event (), Event (), Queue ())
691
699
thread = PopulateDBThread (args .database , * thread_objs )
0 commit comments