(cls, location, package_only=False)
| 1455 | |
| 1456 | @classmethod |
| 1457 | def parse(cls, location, package_only=False): |
| 1458 | setup_args = get_setup_py_args(location) |
| 1459 | |
| 1460 | # it may be legit to have a name-less package? |
| 1461 | # in anycase we do not want to fail because of that |
| 1462 | name = setup_args.get('name') |
| 1463 | |
| 1464 | version = setup_args.get('version') |
| 1465 | if not version: |
| 1466 | # search for possible dunder versions here and elsewhere |
| 1467 | version = detect_version_attribute(location) |
| 1468 | |
| 1469 | urls, extra_data = get_urls(metainfo=setup_args, name=name, version=version) |
| 1470 | |
| 1471 | dependencies = get_setup_py_dependencies(setup_args) |
| 1472 | python_requires = get_setup_py_python_requires(setup_args) |
| 1473 | extra_data.update(python_requires) |
| 1474 | |
| 1475 | extracted_license_statement, license_file = get_declared_license(metainfo=setup_args) |
| 1476 | if license_file: |
| 1477 | extra_data['license_file'] = license_file |
| 1478 | |
| 1479 | package_data = dict( |
| 1480 | datasource_id=cls.datasource_id, |
| 1481 | type=cls.default_package_type, |
| 1482 | primary_language=cls.default_primary_language, |
| 1483 | name=name, |
| 1484 | version=version, |
| 1485 | description=get_description(setup_args), |
| 1486 | parties=get_setup_parties(setup_args), |
| 1487 | extracted_license_statement=extracted_license_statement, |
| 1488 | dependencies=dependencies, |
| 1489 | keywords=get_keywords(setup_args), |
| 1490 | extra_data=extra_data, |
| 1491 | **urls, |
| 1492 | ) |
| 1493 | yield models.PackageData.from_data(package_data, package_only) |
| 1494 | |
| 1495 | |
| 1496 | class ResolvedPurl(NamedTuple): |
nothing calls this directly
no test coverage detected