diff --git a/differ.py b/differ.py index 50a3ff2..534301d 100644 --- a/differ.py +++ b/differ.py @@ -10,6 +10,14 @@ from dbt.contracts.graph.manifest import WritableManifest from dbt.graph.selector_methods import StateSelectorMethod +# To support logging events, mock the 'list' command with default CLI options +from dbt.cli.flags import Flags +from dbt.flags import set_flags +from dbt.cli.types import Command as CliCommand + +flags = Flags.from_dict(CliCommand.LIST, {}) +set_flags(flags) + class MockPreviousState: def __init__(self, manifest: WritableManifest) -> None: self.manifest: Manifest = manifest @@ -77,7 +85,7 @@ def load_manifest(file: UploadedFile) -> WritableManifest: st.write(state_comparator.modified_macros) if len(selected_nodes) == 0: - st.write("No diffs!") + st.write("No nodes selected!") st.header(f"{len(selected_nodes)} Selected node{'s' if len(selected_nodes) != 1 else ''}") for unique_id in selected_nodes: diff --git a/functions/flatten.py b/functions/flatten.py index b5b8113..466a686 100644 --- a/functions/flatten.py +++ b/functions/flatten.py @@ -6,7 +6,7 @@ def flatten_keys(dictionary, separator="."): for key, value in dictionary.items(): if isinstance(value, Mapping): result.update( - (key + separator + k, v if v is not None else ['N/A']) + (str(key) + str(separator) + str(k), v if v is not None else ['N/A']) for k, v in flatten_keys(value, separator).items() ) else: