diff options
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oe/license.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/meta/lib/oe/license.py b/meta/lib/oe/license.py index bc146a28c4..254279db53 100644 --- a/meta/lib/oe/license.py +++ b/meta/lib/oe/license.py | |||
@@ -44,8 +44,8 @@ license_operator = re.compile('([' + license_operator_chars + '])') | |||
44 | license_pattern = re.compile('[a-zA-Z0-9.+_\-]+$') | 44 | license_pattern = re.compile('[a-zA-Z0-9.+_\-]+$') |
45 | 45 | ||
46 | class LicenseVisitor(ast.NodeVisitor): | 46 | class LicenseVisitor(ast.NodeVisitor): |
47 | """Syntax tree visitor which can accept OpenEmbedded license strings""" | 47 | """Get elements based on OpenEmbedded license strings""" |
48 | def visit_string(self, licensestr): | 48 | def get_elements(self, licensestr): |
49 | new_elements = [] | 49 | new_elements = [] |
50 | elements = filter(lambda x: x.strip(), license_operator.split(licensestr)) | 50 | elements = filter(lambda x: x.strip(), license_operator.split(licensestr)) |
51 | for pos, element in enumerate(elements): | 51 | for pos, element in enumerate(elements): |
@@ -57,7 +57,16 @@ class LicenseVisitor(ast.NodeVisitor): | |||
57 | raise InvalidLicense(element) | 57 | raise InvalidLicense(element) |
58 | new_elements.append(element) | 58 | new_elements.append(element) |
59 | 59 | ||
60 | self.visit(ast.parse(' '.join(new_elements))) | 60 | return new_elements |
61 | |||
62 | """Syntax tree visitor which can accept elements previously generated with | ||
63 | OpenEmbedded license string""" | ||
64 | def visit_elements(self, elements): | ||
65 | self.visit(ast.parse(' '.join(elements))) | ||
66 | |||
67 | """Syntax tree visitor which can accept OpenEmbedded license strings""" | ||
68 | def visit_string(self, licensestr): | ||
69 | self.visit_elements(self.get_elements(licensestr)) | ||
61 | 70 | ||
62 | class FlattenVisitor(LicenseVisitor): | 71 | class FlattenVisitor(LicenseVisitor): |
63 | """Flatten a license tree (parsed from a string) by selecting one of each | 72 | """Flatten a license tree (parsed from a string) by selecting one of each |