@UserExist(uid_key='show')
    def show(self, arg, opts):
        user = self.pb['router'].getUser(opts.show)

        for key, value in UserKeyMap.iteritems():
            if key == 'password':
                # Dont show password
                pass
            elif key == 'gid':
                self.protocol.sendData('gid %s' % (user.group.gid), prompt=False)
            elif isinstance(value, str):
                self.protocol.sendData('%s %s' % (key, getattr(user, value)), prompt=False)
            elif isinstance(value, dict) and 'class' in value:
                if value['class'] == 'MtMessagingCredential':
                    for section, sectionData in value.iteritems():
                        if section in ['class', 'keyMapValue']:
                            continue
                        for SectionShortKey, SectionLongKey in value[section].iteritems():
                            try:
                                sectionValue = getattr(user.mt_credential, 'get%s' % section)(SectionLongKey)
                            except jasminApiCredentialError:
                                sectionValue = 'Unknown (object is from an old Jasmin release !)'

                            if section == 'ValueFilter':
                                sectionValue = sectionValue.pattern
                            elif section == 'Quota' and sectionValue is None:
                                sectionValue = 'ND'
                            self.protocol.sendData('%s %s %s %s' % (
                                key, section.lower(), SectionShortKey, sectionValue), prompt=False)
                if value['class'] == 'SmppsCredential':
                    for section, sectionData in value.iteritems():
                        if section in ['class', 'keyMapValue']:
                            continue
                        for SectionShortKey, SectionLongKey in value[section].iteritems():
                            sectionValue = getattr(user.smpps_credential, section % 'get%s')(SectionLongKey)
                            if section == 'ValueFilter':
                                sectionValue = sectionValue.pattern
                            elif section == 'Quota' and sectionValue is None:
                                sectionValue = 'ND'
                            self.protocol.sendData('%s %s %s %s' % (
                                key, section.lower(), SectionShortKey, sectionValue), prompt=False)
        self.protocol.sendData()
dataset/ETHPy150Open jookies/jasmin/jasmin/protocols/cli/usersm.py/UsersManager.show/swapped operands of `%`