17
17
from cluecode import copyrights_hint
18
18
from commoncode .text import toascii
19
19
from commoncode .text import unixlinesep
20
- from textcode import analysis
21
20
22
21
# Tracing flags
23
22
TRACE = False or os .environ .get ('SCANCODE_DEBUG_COPYRIGHT' , False )
@@ -60,6 +59,7 @@ def logger_debug(*args):
60
59
61
60
def detect_copyrights (location , copyrights = True , holders = True , authors = True ,
62
61
include_years = True , include_allrights = False ,
62
+ demarkup = True ,
63
63
deadline = sys .maxsize ):
64
64
"""
65
65
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,
68
68
Valid detection types are: copyrights, authors, holders.
69
69
These are included in the yielded tuples based on the values of `copyrights=True`, `holders=True`, `authors=True`,
70
70
"""
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 )
73
73
numbered_lines = list (numbered_lines )
74
74
if TRACE :
75
75
numbered_lines = list (numbered_lines )
76
76
for nl in numbered_lines :
77
77
logger_debug ('numbered_line:' , repr (nl ))
78
78
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
+
79
101
for candidates in candidate_lines (numbered_lines ):
80
102
81
103
detections = detector .detect (
@@ -93,6 +115,7 @@ def detect_copyrights(location, copyrights=True, holders=True, authors=True,
93
115
if time () > deadline :
94
116
break
95
117
118
+
96
119
################################################################################
97
120
# DETECTION PROPER
98
121
################################################################################
0 commit comments