def fi_tag_desc(self):
        s = [u'']
        writes = (u'metadata', u'delete', u'tag', u'untag')
        controls = (self.acontrol, self.tcontrol)
        wPerms = []
        for kind in (u'ABSTRACT TAG', u'TAG'):
            desc = RAW_PERMS[u'tag' if kind == u'TAG' else u'abstract-tag']
            L = u't' if kind == u'TAG' else u'a'
            s.append(kind[-3:] + u' (/%s)' % desc.path)
            if kind == u'TAG':
                s.append(u'  Read')
                s.append(u'    %-19s  %s' % (u'read (read):',
                                             unicode(self.read)))
            s.append(u'  Write')
            for (fi, fdb) in zip(desc.actions, desc.names):
                if fdb in writes:
                    w = unicode(self.__dict__[fdb])
                    wPerms.append(w)
                    s.append(u'    %-19s  %s' % (u'%s (%s):' % (fi, fdb), w))
            s.extend([u'  Control'])
            c = self.tcontrol if kind == u'TAG' else self.acontrol
            s.append(u'    %-19s  %s' % (u'control (%scontrol):' % L,
                                         unicode(c)))
            s.append(u'')

        if self.compressIfPoss:
            if (all(w == wPerms[0] for w in wPerms[1:])
                  and unicode(self.acontrol) == unicode(self.tcontrol)):
                s = [u'     read: %s' % unicode(self.read),
                     unicode(wPerms[0]) % u'    write: %s',
                     u'  control: %s' % unicode(self.acontrol),
                     u'']
        return u'\n'.join(s)
dataset/ETHPy150Open njr0/fish/fish/ls.py/FluidinfoPerms.fi_tag_desc/swapped operands of `%`