Skip to content

Commit ccc63fd

Browse files
authored
Merge pull request #5 from nexB/develop
Updating my fork
2 parents 0b3ee75 + eb35a6c commit ccc63fd

File tree

2 files changed

+30
-7
lines changed

2 files changed

+30
-7
lines changed

src/cluecode/copyrights.py

+26-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
from cluecode import copyrights_hint
1818
from commoncode.text import toascii
1919
from commoncode.text import unixlinesep
20-
from textcode import analysis
2120

2221
# Tracing flags
2322
TRACE = False or os.environ.get('SCANCODE_DEBUG_COPYRIGHT', False)
@@ -60,6 +59,7 @@ def logger_debug(*args):
6059

6160
def detect_copyrights(location, copyrights=True, holders=True, authors=True,
6261
include_years=True, include_allrights=False,
62+
demarkup=True,
6363
deadline=sys.maxsize):
6464
"""
6565
Yield tuples of (detection type, detected string, start line, end line)
@@ -68,14 +68,36 @@ def detect_copyrights(location, copyrights=True, holders=True, authors=True,
6868
Valid detection types are: copyrights, authors, holders.
6969
These are included in the yielded tuples based on the values of `copyrights=True`, `holders=True`, `authors=True`,
7070
"""
71-
detector = CopyrightDetector()
72-
numbered_lines = analysis.numbered_text_lines(location, demarkup=True)
71+
from textcode.analysis import numbered_text_lines
72+
numbered_lines = numbered_text_lines(location, demarkup=demarkup)
7373
numbered_lines = list(numbered_lines)
7474
if TRACE:
7575
numbered_lines = list(numbered_lines)
7676
for nl in numbered_lines:
7777
logger_debug('numbered_line:', repr(nl))
7878

79+
yield from detect_copyrights_from_lines(
80+
numbered_lines,
81+
copyrights=copyrights,
82+
holders=holders,
83+
authors=authors,
84+
include_years=include_years,
85+
include_allrights=include_allrights,
86+
deadline=deadline)
87+
88+
89+
def detect_copyrights_from_lines(numbered_lines, copyrights=True, holders=True, authors=True,
90+
include_years=True, include_allrights=False,
91+
deadline=sys.maxsize):
92+
"""
93+
Yield tuples of (detection type, detected string, start line, end line)
94+
detected in numbered lines
95+
Include years in copyrights if include_years is True.
96+
Valid detection types are: copyrights, authors, holders.
97+
These are included in the yielded tuples based on the values of `copyrights=True`, `holders=True`, `authors=True`,
98+
"""
99+
detector = CopyrightDetector()
100+
79101
for candidates in candidate_lines(numbered_lines):
80102

81103
detections = detector.detect(
@@ -93,6 +115,7 @@ def detect_copyrights(location, copyrights=True, holders=True, authors=True,
93115
if time() > deadline:
94116
break
95117

118+
96119
################################################################################
97120
# DETECTION PROPER
98121
################################################################################

tests/cluecode/test_plugin_filter_clues.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def test_is_empty_():
3030
assert not is_empty(Detections(urls=['Foo']))
3131

3232

33-
def test_scan_plugin_filter_cluesfor_rule():
33+
def test_scan_plugin_filter_clues_for_rule():
3434
# this test fies is a copy of apache-1.1_63.RULE that contains
3535
# several emails, authors, urls and copyrights
3636
# it has been modified to include more unrelated clues
@@ -39,7 +39,7 @@ def test_scan_plugin_filter_cluesfor_rule():
3939
args = ['-clieu', '--filter-clues', test_dir, '--json', result_file]
4040
run_scan_click(args)
4141
expected = test_env.get_test_loc('plugin_filter_clues/filtered-expected.json')
42-
check_json_scan(expected, result_file, regen=False)
42+
check_json_scan(expected, result_file, remove_file_date=True, ignore_headers=True, regen=False)
4343

4444

4545
def test_scan_plugin_filter_clues_does_not_filter_incorrectly():
@@ -51,7 +51,7 @@ def test_scan_plugin_filter_clues_does_not_filter_incorrectly():
5151
args = ['-clieu', '--filter-clues', test_dir, '--json', result_file]
5252
run_scan_click(args)
5353
expected = test_env.get_test_loc('plugin_filter_clues/filtered-expected2.json')
54-
check_json_scan(expected, result_file, regen=False)
54+
check_json_scan(expected, result_file, remove_file_date=True, ignore_headers=True, regen=False)
5555

5656

5757
def test_scan_plugin_filter_clues_for_license():
@@ -62,4 +62,4 @@ def test_scan_plugin_filter_clues_for_license():
6262
args = ['-clieu', '--filter-clues', test_dir, '--json', result_file]
6363
run_scan_click(args)
6464
expected = test_env.get_test_loc('plugin_filter_clues/filtered-expected3.json')
65-
check_json_scan(expected, result_file, regen=False)
65+
check_json_scan(expected, result_file, remove_file_date=True, ignore_headers=True, regen=False)

0 commit comments

Comments
 (0)