def get_memory()

in libraries/botbuilder-dialogs/botbuilder/dialogs/memory/scopes/dialog_memory_scope.py [0:0]


    def get_memory(self, dialog_context: "DialogContext") -> object:
        if not dialog_context:
            raise TypeError(f"Expecting: DialogContext, but received None")

        # if active dialog is a container dialog then "dialog" binds to it.
        if dialog_context.active_dialog:
            dialog = dialog_context.find_dialog_sync(dialog_context.active_dialog.id)
            if isinstance(dialog, self._dialog_container_cls):
                return dialog_context.active_dialog.state

        # Otherwise we always bind to parent, or if there is no parent the active dialog
        parent_state = (
            dialog_context.parent.active_dialog.state
            if dialog_context.parent and dialog_context.parent.active_dialog
            else None
        )
        dc_state = (
            dialog_context.active_dialog.state if dialog_context.active_dialog else None
        )
        return parent_state or dc_state