def execute(self):
        # We aught to be using the player's terminal width, but for now I'm just
        # doing a boring static screen width
        width = 72
        empty_line = '|' + (' ' * (width - 2)) + '|\n'
        
        effects = ', '.join([str(e) for e in self.pc.effects.values()])
        if not effects:
            effects = 'You feel normal.'
        me = '|' + (' %s ' % self.pc.fancy_name()).center(width -2 , '-') + '|\n'
        me += ('| title: ' + self.pc.title).ljust(width - 1) + '|\n'
        me += ('| money: %s %s' % (self.pc.currency, CURRENCY)).ljust(width - 1) + '|\n'
        me += ('| position: ' + self.pc.position[0]).ljust(width - 1) + '|\n'
        me += ('| effects: ' + effects).ljust(width - 1) + '|\n'
        if self.pc.permissions > PLAYER:
            me += '|' + (' Permission Details ').center(width - 2, '-') + '|\n'
            me += ('| permissions: ' +\
                   ', '.join(get_permission_names(self.pc.permissions))).ljust(width - 1) + '|\n'
            me += ('| goto "appear": ' + self.pc.goto_appear).ljust(width - 1) + '|\n'
            me += ('| goto "disappear": ' + self.pc.goto_disappear).ljust(width - 1) + '|\n'
            me += empty_line
        me += '|' + (' Private Details ').center(width - 2, '-') + '|\n'
        me += ('| email: ' + str(self.pc.email)).ljust(width - 1) + '|\n'
        me += '|' + (' Player Stats ').center(width - 2, '-') + '|\n'
        me += ('| hit: ' + str(self.pc.hit.calculate())).ljust(width-1) + '|\n'
        me += ('| evade: ' + str(self.pc.evade.calculate())).ljust(width-1) + '|\n' 
        if self.pc.absorb:
            me += '| absorb: '.ljust(width-1) + '|\n'
            for key, val in self.pc.absorb.calculate().items():
                me += ('|   %s: %s' % (key, val)).ljust(width-1) + '|\n'
        else:
            me += '| absorb: None'.ljust(width-1) + '|\n'
        if self.pc.damage:
            me += '| damage: '.ljust(width-1) + '|\n'
            for t, mn, mx in self.pc.damage.display():
                me += ('|   %s: %s-%s' % (t, mn, mx)).ljust(width-1) + '|\n'
        else:
            me += '| damage: None'.ljust(width-1) + '|\n'
        me += '|' + ('-' * (width - 2)) + '|'         
        self.pc.update_output(me)
dataset/ETHPy150Open shinymud/ShinyMUD/src/shinymud/commands/commands.py/Me.execute/original