Return a univers VersionRange for the ``affected_pkg`` package data mapping or None. Use a ``raw_id`` OSV id and ``supported_ecosystem``.
(affected_pkg, raw_id, supported_ecosystem)
| 257 | |
| 258 | |
| 259 | def get_affected_version_range(affected_pkg, raw_id, supported_ecosystem): |
| 260 | """ |
| 261 | Return a univers VersionRange for the ``affected_pkg`` package data mapping |
| 262 | or None. Use a ``raw_id`` OSV id and ``supported_ecosystem``. |
| 263 | """ |
| 264 | affected_versions = affected_pkg.get("versions") |
| 265 | if affected_versions: |
| 266 | try: |
| 267 | return RANGE_CLASS_BY_SCHEMES[supported_ecosystem].from_versions(affected_versions) |
| 268 | except Exception as e: |
| 269 | logger.error( |
| 270 | f"Invalid VersionRange for affected_pkg: {affected_pkg} " |
| 271 | f"for OSV id: {raw_id!r}: error:{e!r}" |
| 272 | ) |
| 273 | |
| 274 | |
| 275 | def get_fixed_version_range(versions, ecosystem): |