Skip to content

Commit 4321d65

Browse files
Merge pull request #3114 from nexB/fix-summary-holder-bug
Fix summary holder bug
2 parents 2b83eaf + 7a51eb2 commit 4321d65

File tree

17 files changed

+5545
-7
lines changed

17 files changed

+5545
-7
lines changed

src/summarycode/score.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ def get_primary_license(declared_license_expressions):
452452
if len(single_expressions) == 1:
453453
return single_expressions[0]
454454
else:
455-
return ''
455+
return None
456456

457457
# Group single expressions to joined expressions to see if single
458458
# expressions are accounted for in a joined expression
@@ -474,4 +474,4 @@ def get_primary_license(declared_license_expressions):
474474
if len(single_expressions_by_joined_expressions) == 1 and not not_in_joined_expressions:
475475
return next(iter(single_expressions_by_joined_expressions))
476476
else:
477-
return ''
477+
return None

src/summarycode/summarizer.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,10 @@ def get_primary_language(programming_language_tallies):
204204
programming_languages_by_count = {
205205
entry['count']: entry['value'] for entry in programming_language_tallies
206206
}
207-
primary_language = ''
207+
primary_language = None
208208
if programming_languages_by_count:
209209
highest_count = max(programming_languages_by_count)
210-
primary_language = programming_languages_by_count[highest_count] or ''
210+
primary_language = programming_languages_by_count[highest_count] or None
211211
return primary_language
212212

213213

@@ -219,7 +219,7 @@ def get_origin_info_from_top_level_packages(top_level_packages, codebase):
219219
``codebase``.
220220
"""
221221
if not top_level_packages:
222-
return '', [], ''
222+
return None, [], None
223223

224224
license_expressions = []
225225
programming_languages = []
@@ -250,7 +250,7 @@ def get_origin_info_from_top_level_packages(top_level_packages, codebase):
250250
relation='AND',
251251
)
252252

253-
declared_license_expression = ''
253+
declared_license_expression = None
254254
if combined_declared_license_expression:
255255
declared_license_expression = str(
256256
Licensing().parse(combined_declared_license_expression).simplify()
@@ -270,6 +270,10 @@ def get_origin_info_from_top_level_packages(top_level_packages, codebase):
270270
key_file_resource = codebase.get_resource(path=datafile_path)
271271
if not key_file_resource:
272272
continue
273+
274+
if not hasattr(key_file_resource, 'holders'):
275+
break
276+
273277
holders = [h['holder'] for h in key_file_resource.holders]
274278
declared_holders.extend(holders)
275279
# Normalize holder names before collecting them
@@ -279,7 +283,7 @@ def get_origin_info_from_top_level_packages(top_level_packages, codebase):
279283

280284
# Programming language
281285
unique_programming_languages = unique(programming_languages)
282-
primary_language = ''
286+
primary_language = None
283287
if len(unique_programming_languages) == 1:
284288
primary_language = unique_programming_languages[0]
285289

0 commit comments

Comments
 (0)