Commit 937f7e23 authored by Antoine Millet's avatar Antoine Millet
Browse files

Implemented cli walls

parent 8201a604
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ class CliHandler(RegisteredCCHandler):
    .. autosummary::

       CliHandler.list
       CliHandler.wall
       CliHandler.start
       CliHandler.stop
       CliHandler.destroy
@@ -89,6 +90,14 @@ class CliHandler(RegisteredCCHandler):
        #    order |= OrderedSet(tags)
        return {'objects': objects, 'order': list(order)}

    @listed
    def wall(self, message):
        """ Send a wall to all connected users.
        """

        self.client.check('wall')
        self.server.wall(self.client.login, message)

    #
    # VM actions:
    #
@@ -1105,4 +1114,9 @@ class CliClient(Client):
        except KeyError:
            pass

    def wall(self, sender, message):
        """ Send a wall to the client.
        """
        self.conn.call('wall', sender, message)

Client.register_client_class(CliClient)
+9 −0
Original line number Diff line number Diff line
@@ -171,6 +171,15 @@ class CCServer(object):
            client = self.register(login, role, conn)
            return client.role

    def wall(self, sender, message):
        """ Send a wall to all connected cli.
        """

        self.logger.info('Wall from %s: %s', sender, message)

        for client in self.iterclients('cli'):
            client.wall(sender, message)

    def register(self, login, role, connection):
        """ Register a new connected account on the server.