(self, codebase, summary, **kwargs)
| 79 | return summary |
| 80 | |
| 81 | def process_codebase(self, codebase, summary, **kwargs): |
| 82 | if TRACE_LIGHT: |
| 83 | logger_debug('ScanSummary:process_codebase') |
| 84 | |
| 85 | # Get tallies |
| 86 | tallies = compute_codebase_tallies(codebase, keep_details=False, **kwargs) |
| 87 | license_expressions_tallies = tallies.get('detected_license_expression') or [] |
| 88 | holders_tallies = tallies.get('holders') or [] |
| 89 | programming_language_tallies = tallies.get('programming_language') or [] |
| 90 | |
| 91 | # Determine declared license expression, declared holder, and primary |
| 92 | # language from Package data at the top level. |
| 93 | |
| 94 | declared_license_expression = None |
| 95 | declared_holders = None |
| 96 | primary_language = None |
| 97 | |
| 98 | # use top level packages |
| 99 | if hasattr(codebase.attributes, 'packages'): |
| 100 | top_level_packages = codebase.attributes.packages |
| 101 | ( |
| 102 | declared_license_expression, |
| 103 | declared_holders, |
| 104 | primary_language, |
| 105 | ) = get_origin_info_from_top_level_packages( |
| 106 | top_level_packages=top_level_packages, |
| 107 | codebase=codebase, |
| 108 | ) |
| 109 | |
| 110 | if declared_license_expression: |
| 111 | scoring_elements, _ = compute_license_score(codebase) |
| 112 | else: |
| 113 | # If we did not get a declared license expression from detected |
| 114 | # package data, then we use the results from `compute_license_score` |
| 115 | scoring_elements, declared_license_expression = compute_license_score(codebase) |
| 116 | other_license_expressions = remove_from_tallies( |
| 117 | declared_license_expression, license_expressions_tallies |
| 118 | ) |
| 119 | |
| 120 | if not declared_holders: |
| 121 | declared_holders = get_declared_holders(codebase, holders_tallies) |
| 122 | other_holders = remove_from_tallies(declared_holders, holders_tallies) |
| 123 | declared_holder = ', '.join(declared_holders) |
| 124 | |
| 125 | if not primary_language: |
| 126 | primary_language = get_primary_language(programming_language_tallies) |
| 127 | other_languages = remove_from_tallies(primary_language, programming_language_tallies) |
| 128 | |
| 129 | # Save summary info to codebase |
| 130 | codebase.attributes.summary['declared_license_expression'] = declared_license_expression |
| 131 | codebase.attributes.summary['license_clarity_score'] = scoring_elements.to_dict() |
| 132 | codebase.attributes.summary['declared_holder'] = declared_holder |
| 133 | codebase.attributes.summary['primary_language'] = primary_language |
| 134 | codebase.attributes.summary['other_license_expressions'] = other_license_expressions |
| 135 | codebase.attributes.summary['other_holders'] = other_holders |
| 136 | codebase.attributes.summary['other_languages'] = other_languages |
| 137 | |
| 138 |
nothing calls this directly
no test coverage detected