Fixed missing variable in formatting of disconnect string in delcom, made display of @channels more legible and display when someone is Muted rather than not subscribed. Refactored the 'who' list for channels to now be a property of the channel that returns a string of all the subscribers separated by commas, with those who are actively listening (not muted) in bold, and made both '@cwho' and 'allcom who' call to it.

This commit is contained in:
Tehom 2016-10-19 18:29:29 -04:00 committed by Griatch
parent 951cd60a6d
commit c32920999b
2 changed files with 23 additions and 14 deletions

View file

@ -176,7 +176,7 @@ class CmdDelCom(COMMAND_DEFAULT_CLASS):
disconnect = channel.disconnect(player)
if disconnect:
wipednicks = " Eventual aliases were removed." if delnicks else ""
self.msg("You stop listening to channel '%s'.%s" % channel.key)
self.msg("You stop listening to channel '%s'.%s" % (channel.key, wipednicks))
return
else:
# we are removing a channel nick
@ -249,12 +249,7 @@ class CmdAllCom(COMMAND_DEFAULT_CLASS):
if not channels:
string += "No channels."
for channel in channels:
string += "\n{w%s:{n\n" % channel.key
subs = channel.db_subscriptions.all()
if subs:
string += " " + ", ".join([player.key for player in subs])
else:
string += " <None>"
string += "\n{w%s:{n\n %s" % (channel.key, channel.wholist)
self.msg(string.strip())
else:
# wrong input
@ -317,13 +312,21 @@ class CmdChannels(COMMAND_DEFAULT_CLASS):
clower = chan.key.lower()
nicks = caller.nicks.get(category="channel", return_obj=True)
nicks = nicks or []
comtable.add_row(*[chan in subs and "{gYes{n" or "{rNo{n",
if chan not in subs:
substatus = "{rNo{n"
elif caller in chan.mutelist:
substatus = "{rMuted{n"
else:
substatus = "{gYes{n"
comtable.add_row(*[substatus,
"%s%s" % (chan.key, chan.aliases.all() and
"(%s)" % ",".join(chan.aliases.all()) or ""),
"%s" % ",".join(nick.db_key for nick in make_iter(nicks)
if nick.value[3].lower() == clower),
str(chan.locks),
chan.db.desc])
comtable.reformat_column(0, width=9)
comtable.reformat_column(3, width=14)
caller.msg("\n{wAvailable channels{n (use {wcomlist{n,{waddcom{n and {wdelcom{n to manage subscriptions):\n%s" % comtable)
@ -511,12 +514,7 @@ class CmdCWho(COMMAND_DEFAULT_CLASS):
self.msg(string)
return
string = "\n{CChannel subscriptions{n"
string += "\n{w%s:{n\n" % channel.key
subs = channel.db_subscriptions.all()
if subs:
string += " " + ", ".join([player.key for player in subs])
else:
string += " <None>"
string += "\n{w%s:{n\n %s" % (channel.key, channel.wholist)
self.msg(string.strip())