aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam Janovsky2021-04-14 16:43:57 +0200
committerAdam Janovsky2021-04-14 16:43:57 +0200
commit24346301a81eda09b8f40e60f7ee90126cf9c504 (patch)
tree8052865bbc949d511f64500894ff40e5d98701de
parentf919c929e1c5161d7ebde2176a0e6d416a06d389 (diff)
downloadsec-certs-24346301a81eda09b8f40e60f7ee90126cf9c504.tar.gz
sec-certs-24346301a81eda09b8f40e60f7ee90126cf9c504.tar.zst
sec-certs-24346301a81eda09b8f40e60f7ee90126cf9c504.zip
cc demo contains heuristics
-rw-r--r--cc_oop_demo.py2
-rw-r--r--sec_certs/dataset.py7
2 files changed, 7 insertions, 2 deletions
diff --git a/cc_oop_demo.py b/cc_oop_demo.py
index 839a5b3a..dab01b2e 100644
--- a/cc_oop_demo.py
+++ b/cc_oop_demo.py
@@ -44,6 +44,8 @@ def main():
# transform to pandas DataFrame
df = dset.to_pandas()
+ # Compute heuristics on the dataset
+ dset.compute_heuristics(update_json=True)
end = datetime.now()
logger.info(f'The computation took {(end-start)} seconds.')
diff --git a/sec_certs/dataset.py b/sec_certs/dataset.py
index 484250cc..de8fdfd0 100644
--- a/sec_certs/dataset.py
+++ b/sec_certs/dataset.py
@@ -654,7 +654,7 @@ class CCDataset(Dataset, ComplexSerializableType):
if update_json is True:
self.to_json(self.json_path)
- def compute_heuristics(self, cpe_xml_path: str, update_json=True):
+ def compute_heuristics(self, cpe_xml_path: Optional[str] = None, update_json=True):
def compute_candidate_versions():
logger.info('Computing heuristics: possible product versions in certificate name')
for cert in self:
@@ -672,7 +672,10 @@ class CCDataset(Dataset, ComplexSerializableType):
compute_candidate_versions()
- cpe_dset = CPEDataset.from_xml(cpe_xml_path)
+ if not cpe_xml_path:
+ cpe_dset = CPEDataset.from_web()
+ else:
+ cpe_dset = CPEDataset.from_xml(cpe_xml_path)
compute_candidate_cpe_vendors(cpe_dset)
compute_cpe_matches(cpe_dset)