Created
November 14, 2018 08:40
-
-
Save a-sk/7f3f97ab87ecf3dc36aeb37f744ab514 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1,2c1 | |
< import typing | |
< from collections import Iterable, OrderedDict, namedtuple | |
--- | |
> from collections import OrderedDict, namedtuple | |
27c26 | |
< changed: List[Optional[Node]] = [] | |
--- | |
> changed: List[str] = [] | |
31,34c30,31 | |
< changed.append(cut) | |
< changed_image_names = list( | |
< flatten(sorted([flatten_tree(tree) for tree in changed]))) | |
< return uniq(changed_image_names + compact(changed_images)) | |
--- | |
> changed += flatten_tree(cut) | |
> return uniq(compact(changed) + changed_images) | |
80,90c77 | |
< def flatten(seq: typing.Iterable): | |
< """Make nested lists flat again""" | |
< for el in seq: | |
< if isinstance(el, Iterable) and not isinstance(el, str): | |
< for sub in flatten(el): | |
< yield sub | |
< else: | |
< yield el | |
< | |
< | |
< def traverse(tree: Node, cb: Callable[[Node, int], None]) -> None: | |
--- | |
> def traverse(tree: Node, cb: Callable[[Node], None]) -> None: | |
95c82 | |
< def _traverse(tree, level=0): | |
--- | |
> def _traverse(tree): | |
97,98c84,85 | |
< cb(node, level + 1) | |
< _traverse(node, level + 1) | |
--- | |
> cb(node) | |
> _traverse(node) | |
122c109 | |
< def collect_name(node, level): | |
--- | |
> def collect_name(node): | |
129,135d115 | |
< def draw_tree(tree: Node): | |
< def _draw(node, level): | |
< print(f"{level} {level * ' '} {node.name}") | |
< | |
< traverse(tree, _draw) | |
< | |
< | |
174,181d153 | |
< [["image1", "image7"], [ | |
< 'image1', 'image7', 'image8', 'image2', 'image3', 'image4', | |
< 'image6' | |
< ]], | |
< [["image7", "image1"], [ | |
< 'image1', 'image7', 'image8', 'image2', 'image3', 'image4', | |
< 'image6' | |
< ]], | |
183,185c155 | |
< for idx, test_case in enumerate(test_cases): | |
< changed, answer = test_case | |
< print(f"Running test number {idx+1}") | |
--- | |
> for changed, answer in test_cases: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment