def execute(self):
        if not self.args:
            # Wake up yourself
            if self.pc.position[0] != 'sleeping':
                self.pc.update_output('You are already awake.')
                return
            self.pc.update_output('You wake and stand up.')
            if self.pc.location:
                self.pc.location.tell_room('%s wakes and stands up.' % self.pc.fancy_name(), [self.pc.name], self.pc)
            self.pc.change_position('standing')
        else:
            # Wake up someone else!
            if not self.pc.location:
                self.pc.update_output('You are alone in the void.')
                return
            sleeper = self.pc.location.get_player(self.args.lower().strip())
            if not sleeper:
                self.pc.update_output('That person isn\'t here.')
                return
            if sleeper.position[0] != 'sleeping':
                self.pc.update_output('%s isn\'t asleep.' % sleeper.fancy_name())
                return
            sleeper.change_position('standing')
            self.pc.update_output('You wake up %s.' % sleeper.fancy_name())
            sleeper.update_output('%s wakes you up.' % self.pc.fancy_name())
            troom = '%s wakes up %s.' % (self.pc.fancy_name(),
                                         sleeper.fancy_name())
            self.pc.location.tell_room(troom, [self.pc.name, sleeper.name],
                                         self.pc)
dataset/ETHPy150Open shinymud/ShinyMUD/src/shinymud/commands/commands.py/Wake.execute/original