diff options
| author | Adam Janovsky | 2021-04-14 16:43:57 +0200 |
|---|---|---|
| committer | Adam Janovsky | 2021-04-14 16:43:57 +0200 |
| commit | 24346301a81eda09b8f40e60f7ee90126cf9c504 (patch) | |
| tree | 8052865bbc949d511f64500894ff40e5d98701de | |
| parent | f919c929e1c5161d7ebde2176a0e6d416a06d389 (diff) | |
| download | sec-certs-24346301a81eda09b8f40e60f7ee90126cf9c504.tar.gz sec-certs-24346301a81eda09b8f40e60f7ee90126cf9c504.tar.zst sec-certs-24346301a81eda09b8f40e60f7ee90126cf9c504.zip | |
cc demo contains heuristics
| -rw-r--r-- | cc_oop_demo.py | 2 | ||||
| -rw-r--r-- | sec_certs/dataset.py | 7 |
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) |
