diff --git a/src/commands/imc2.py b/src/commands/imc2.py index 787fb1ef31..5a28f29417 100644 --- a/src/commands/imc2.py +++ b/src/commands/imc2.py @@ -56,8 +56,9 @@ def cmd_imclist(command): source_object = command.source_object retval = 'Active MUDs on %s\n\r' % imc2_conn.IMC2_PROTOCOL_INSTANCE.network_name - for name, mudinfo in IMC2_MUDLIST.mud_list.items(): - mudline = ' %-20s %s' % (name, mudinfo.versionid) + + for mudinfo in IMC2_MUDLIST.get_mud_list(): + mudline = ' %-20s %s' % (mudinfo.name, mudinfo.versionid) retval += '%s\n\r' % mudline[:78] retval += '%s active MUDs found.' % len(IMC2_MUDLIST.mud_list) source_object.emit_to(retval) diff --git a/src/imc2/trackers.py b/src/imc2/trackers.py index 9ab3ae2806..57627ef954 100644 --- a/src/imc2/trackers.py +++ b/src/imc2/trackers.py @@ -29,14 +29,26 @@ class IMC2MudList(object): # Mud list is stored in a dict, key being the IMC Mud name. self.mud_list = {} + def get_mud_list(self): + """ + Returns a sorted list of connected Muds. + """ + muds = self.mud_list.items() + muds.sort() + return [value for key, value in muds] + def update_mud_from_packet(self, packet): - # This grabs relevant info from the packet and stuffs it in the - # Mud list for later retrieval. + """ + This grabs relevant info from the packet and stuffs it in the + Mud list for later retrieval. + """ mud = IMC2Mud(packet) self.mud_list[mud.name] = mud def remove_mud_from_packet(self, packet): - # Removes a mud from the Mud list when given a packet. + """ + Removes a mud from the Mud list when given a packet. + """ mud = IMC2Mud(packet) try: del self.mud_list[mud.name]