Exemple #1
0
 def display_boards(self, checker, viewer):
     message = list()
     message.append(viewer.render.header(self.name))
     bbtable = viewer.render.make_table(["ID", "RWA", "Name", "Last Post", "#", "U"], width=[4, 4, 37, 23, 5, 5])
     for board in self.visible_boards(checker=checker):
         bbtable.add_row(mxp(board.order, "+bbread %s" % board.order),
                         board.display_permissions(checker), mxp(board, "+bbread %s" % board.order),
                         board.last_post(checker), board.posts.all().count(),
                         board.posts.exclude(read=viewer).count())
     message.append(bbtable)
     message.append(viewer.render.footer())
     return '\n'.join(unicode(line) for line in message)
Exemple #2
0
 def boards_list(self, checker, viewer):
     message = list()
     message.append(viewer.render.header(self.name, viewer=viewer))
     bbtable = viewer.render.make_table(["ID", "RWA", "Name", "Locks", "On"], width=[4, 4, 23, 43, 4])
     for board in self.usable_boards(checker=checker):
         if checker in board.ignore_list.all():
             member = "No"
         else:
             member = "Yes"
         bbtable.add_row(mxp(board.order, "+bbread %s" % board.order), board.display_permissions(checker),
                         mxp(board, "+bbread %s" % board.order), board.lock_storage, member)
     message.append(bbtable)
     message.append(viewer.render.footer())
     return '\n'.join(unicode(line) for line in message)
Exemple #3
0
 def announce_post(self, post):
     postid = '%s/%s' % (self.order, post.order)
     if self.group:
         clickable = mxp(text=postid, command='+gbread %s=%s' % (postid, self.group.name))
         text_message = "{cM<GROUP BB>{n New GB Message (%s) posted to '%s' '%s' by %s: %s"
         message = text_message % (clickable, self.group, self, post.owner if not self.anonymous else self.anonymous,
                                                                                          post.subject)
         for character in self.listeners():
             character.msg(message)
     else:
         clickable = mxp(text=postid, command='+bbread %s' % postid)
         text_message = "(New BB Message (%s) posted to '%s' by %s: %s)"
         message = text_message % (clickable, self, post.owner if not self.anonymous else self.anonymous,
                                   post.subject)
         for character in self.listeners():
             character.msg(message)
Exemple #4
0
 def board_timeout_list(self, lhs, rhs):
     try:
         board_group = self.board_group
     except ValueError as err:
         self.error(unicode(err))
         return
     message = list()
     message.append(self.board_header())
     bbtable = self.player.render.make_table(["ID", "RWA", "Name", "Timeout"], width=[4, 4, 23, 47])
     for board in board_group.visible_boards(checker=self.player):
         bbtable.add_row(mxp(board.order, "+bbread %s" % board.order),
                         board.display_permissions(self.character), mxp(board, "+bbread %s" % board.order),
                         time_format(board.timeout.total_seconds()) if board.timeout else '0 - Permanent')
     message.append(bbtable)
     message.append(self.player.render.footer())
     self.msg_lines(message)
Exemple #5
0
 def format_output(self, viewer):
     namecolor = viewer.player.config['exitname_color']
     aliascolor = viewer.player.config['exitalias_color']
     alias = self.aliases.all()[0] or ''
     alias = alias.upper()
     if alias:
         color_alias = ANSIString('{%s%s{n' % (aliascolor, alias))
         border_alias = ANSIString('<%s>' % color_alias).ljust(6)
     name = ANSIString('{%s%s{n' % (namecolor, self.key))
     length = 36
     if alias: length -= 6
     length -= len(self.key)
     if length:
         destination_text = " to %s" % self.destination.key
         destination_text = destination_text[:length].ljust(length)
     else:
         destination_text = ''
     if alias:
         main = mxp(text=border_alias + name, command=self.key)
     else:
         main = mxp(text=name, command=self.key)
     return ANSIString(main + destination_text)
Exemple #6
0
 def mxp_name(self, commands=None):
     if not commands:
         commands = ['+finger']
     send_commands = '|'.join(['%s %s' % (command, self.key) for command in commands])
     return mxp(text=self.key, command=send_commands)