Group consecutive items by kind (first element) into ImportFromBuckets. Each item is a (kind, name, as_name) tuple.
(items: list[tuple[int, str, str]])
| 483 | |
| 484 | |
| 485 | def group_consecutive(items: list[tuple[int, str, str]]) -> list[ImportFromBucket]: |
| 486 | """Group consecutive items by kind (first element) into ImportFromBuckets. |
| 487 | |
| 488 | Each item is a (kind, name, as_name) tuple. |
| 489 | """ |
| 490 | result: list[ImportFromBucket] = [] |
| 491 | i = 0 |
| 492 | while i < len(items): |
| 493 | kind = items[i][0] |
| 494 | i0 = i |
| 495 | i += 1 |
| 496 | while i < len(items) and items[i][0] == kind: |
| 497 | i += 1 |
| 498 | result.append( |
| 499 | ImportFromBucket(kind, [t[1] for t in items[i0:i]], [t[2] for t in items[i0:i]]) |
| 500 | ) |
| 501 | return result |
| 502 | |
| 503 | |
| 504 | def classify_import_from( |
searching dependent graphs…