| 68 | yield from self.to_advisories(xsa) |
| 69 | |
| 70 | def to_advisories(self, xsa): |
| 71 | xsa_id = xsa.get("xsa") |
| 72 | references = [] |
| 73 | url = self.url |
| 74 | if xsa_id: |
| 75 | xsa_reference = XsaReference.from_number(number=xsa_id) |
| 76 | url = xsa_reference.url |
| 77 | references.append(xsa_reference) |
| 78 | title = xsa.get("title") |
| 79 | for cve in xsa.get("cve") or []: |
| 80 | # TODO: https://github.com/nexB/vulnerablecode/issues/981 |
| 81 | if not is_cve(cve): |
| 82 | continue |
| 83 | yield AdvisoryData( |
| 84 | aliases=[cve], |
| 85 | summary=title, |
| 86 | references=references, |
| 87 | url=url, |
| 88 | ) |