MCPcopy Create free account
hub / github.com/aboutcode-org/scancode-toolkit / get_dependencies

Function get_dependencies

src/packagedcode/nuget.py:22–48  ·  view source on GitHub ↗

Yield DependentPackage found in a NuGet ``nuspec`` object.

(nuspec)

Source from the content-addressed store, hash-verified

20
21
22def get_dependencies(nuspec):
23 """
24 Yield DependentPackage found in a NuGet ``nuspec`` object.
25 """
26 # This is either a list of dependency or a list of group/dependency
27 # or a single dep or a single group mapping
28
29 dependencies = nuspec.get('dependencies') or []
30 if isinstance(dependencies, dict):
31 # wrap the mapping in a list if we have more than one dependencies
32 dependencies = [dependencies]
33
34 for depends in dependencies:
35 groups = depends.get('group') or []
36 if groups:
37 if isinstance(groups, dict):
38 # wrap the mapping in a list
39 groups = [groups]
40
41 for group in groups:
42 extra_data = dict(framework=group['@targetFramework'])
43 deps = group.get('dependency') or []
44 yield from _get_dep_packs(deps, extra_data)
45 else:
46 # {'dependency': {'@id': 'jQuery', '@version': '1.9.1'}}
47 deps = depends.get('dependency') or []
48 yield from _get_dep_packs(deps, extra_data={})
49
50
51def _get_dep_packs(deps, extra_data):

Callers 1

parseMethod · 0.70

Calls 2

_get_dep_packsFunction · 0.85
getMethod · 0.65

Tested by

no test coverage detected