Skip to content

Commit e9075cb

Browse files
committed
Order summarized directories by license then holder
Signed-off-by: Jono Yang <jyang@nexb.com>
1 parent 9af6e1e commit e9075cb

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

src/scancode/plugin_summary.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ class OriginSummary(PostScanPlugin):
6969
or license expression is detected in 75% or more of total files in a directory
7070
"""
7171
codebase_attributes = dict(
72-
summarized_directories=attr.ib(default=attr.Factory(OrderedDict))
72+
# TODO: we cannot maintain sort order with defaultdict
73+
summarized_directories=attr.ib(default=attr.Factory(lambda: defaultdict(lambda: defaultdict(list))))
7374
)
7475

7576
resource_attributes = dict(
@@ -156,12 +157,10 @@ def process_codebase(self, codebase, **kwargs):
156157
child.summarized_to = resource.path
157158
child.save(codebase)
158159

160+
# TODO: Deal with maintaining sort order
159161
for (holders, license_expression), summarized_dirs in summarized_dirs_by_license_and_holder.items():
160-
holder = ', '.join(holders)
161-
if holder in codebase.attributes.summarized_directories:
162-
codebase.attributes.summarized_directories[holder][license_expression].extend(sorted(summarized_dirs))
163-
else:
164-
codebase.attributes.summarized_directories[holder] = {license_expression: sorted(summarized_dirs)}
162+
holder = '\n'.join(holders)
163+
codebase.attributes.summarized_directories[license_expression][holder].extend(sorted(summarized_dirs))
165164

166165

167166
def is_majority(count, files_count):

0 commit comments

Comments
 (0)