Return a tuple that contains two list of license expressions. The first list in the tuple contains unique license expressions with "AND", "OR, or "WITH" in it. The second list in the tuple contains unique license expressions without "AND", "OR", or "WITH".
(unique_license_expressions)
| 418 | |
| 419 | |
| 420 | def group_license_expressions(unique_license_expressions): |
| 421 | """ |
| 422 | Return a tuple that contains two list of license expressions. |
| 423 | |
| 424 | The first list in the tuple contains unique license expressions with "AND", |
| 425 | "OR, or "WITH" in it. |
| 426 | |
| 427 | The second list in the tuple contains unique license |
| 428 | expressions without "AND", "OR", or "WITH". |
| 429 | """ |
| 430 | joined_expressions = [] |
| 431 | single_expressions = [] |
| 432 | for license_expression in unique_license_expressions: |
| 433 | if ( |
| 434 | 'AND' in license_expression |
| 435 | or 'OR' in license_expression |
| 436 | or 'WITH' in license_expression |
| 437 | ): |
| 438 | joined_expressions.append(license_expression) |
| 439 | else: |
| 440 | single_expressions.append(license_expression) |
| 441 | |
| 442 | licensing = Licensing() |
| 443 | unique_joined_expressions = [] |
| 444 | seen_joined_expression = [] |
| 445 | len_joined_expressions = len(joined_expressions) |
| 446 | if len_joined_expressions > 1: |
| 447 | for i, j in enumerate(joined_expressions, start=1): |
| 448 | if i > len_joined_expressions: |
| 449 | break |
| 450 | for j1 in joined_expressions[i:]: |
| 451 | if licensing.is_equivalent(j, j1): |
| 452 | if j not in unique_joined_expressions and j not in seen_joined_expression: |
| 453 | unique_joined_expressions.append(j) |
| 454 | seen_joined_expression.append(j1) |
| 455 | else: |
| 456 | unique_joined_expressions = joined_expressions |
| 457 | |
| 458 | return unique_joined_expressions, single_expressions |
| 459 | |
| 460 | |
| 461 | def get_primary_license(declared_license_expressions): |
no test coverage detected