Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 20 additions & 10 deletions src/cluecode/plugin_filter_clues.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,16 @@ def filter_ignorable_resource_clues(resource, rules_by_id):
detections = Detections.from_resource(resource)
filtered = filter_ignorable_clues(detections, rules_by_id)
if filtered:
resource.emails = filtered.emails
resource.urls = filtered.urls
resource.authors = filtered.authors
resource.holders = filtered.holders
resource.copyrights = filtered.copyrights
if hasattr(resource, 'emails'):
resource.emails = filtered.emails
if hasattr(resource, 'urls'):
resource.urls = filtered.urls
if hasattr(resource, 'authors'):
resource.authors = filtered.authors
if hasattr(resource, 'holders'):
resource.holders = filtered.holders
if hasattr(resource, 'copyrights'):
resource.copyrights = filtered.copyrights
return resource


Expand Down Expand Up @@ -220,11 +225,8 @@ def filter_ignorable_clues(detections, rules_by_id):

no_detected_ignorables = not detections.copyrights and not detections.authors

if detections.licenses:
ignorables = collect_ignorables(detections.licenses, rules_by_id)
else:
ignorables = None

ignorables = collect_ignorables(detections.licenses, rules_by_id)

no_ignorables = not detections.licenses or is_empty(ignorables)

if TRACE:
Expand Down Expand Up @@ -323,6 +325,14 @@ def collect_ignorables(license_matches, rules_by_id):
holders = set()
copyrights = set()

if not license_matches:
return Ignorables(
copyrights=frozenset(copyrights),
holders=frozenset(holders),
authors=frozenset(authors),
urls=frozenset(urls),
emails=frozenset(emails),
)
# build tuple of (set of lines number, set of ignorbale values)
for lic in license_matches:

Expand Down
1 change: 0 additions & 1 deletion tests/scancode/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ def test_verbose_option_with_copyrights(monkeypatch):
assert len(open(result_file).read()) > 10


@pytest.mark.xfail(reason='Bug is not fixed yet')
def test_scanned_resource_no_attribute_emails():
test_dir = test_env.get_test_loc('attribute_error_data/apache-1.1.txt')
result_file = test_env.get_temp_file('bb.json')
Expand Down