Commit 10f27f3f authored by Tristan Van Berkom's avatar Tristan Van Berkom Committed by Tristan Van Berkom
Browse files

_frontend/app.py: Notify session completions

Use the optionally implemented desktop notification method
to notify when a session completes.

Previously, this used to only notify when an interactive prompt
appears.

This is an attempt to fix #385
parent 1e3e2a93
Loading
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -269,6 +269,9 @@ class App():
                else:
                    self._message(MessageType.FAIL, session_name, elapsed=elapsed)

                    # Notify session failure
                    self._notify("{} failed".format(session_name), "{}".format(e))

                if self._started:
                    self._print_summary()

@@ -286,6 +289,9 @@ class App():
                if self._started:
                    self._print_summary()

                # Notify session success
                self._notify("{} succeeded".format(session_name), "")

    # init_project()
    #
    # Initialize a new BuildStream project, either with the explicitly passed options,
@@ -419,6 +425,12 @@ class App():
    #                      Local Functions                     #
    ############################################################

    # Local function for calling the notify() virtual method
    #
    def _notify(self, title, text):
        if self.interactive:
            self.notify(title, text)

    # Local message propagator
    #
    def _message(self, message_type, message, **kwargs):
@@ -571,7 +583,7 @@ class App():
            while choice not in ['continue', 'quit', 'terminate', 'retry']:
                click.echo(summary, err=True)

                self.notify("BuildStream failure", "{} on element {}"
                self._notify("BuildStream failure", "{} on element {}"
                             .format(failure.action_name, element.name))

                try: