Mercurial > libervia-backend
diff src/plugins/plugin_xep_0045.py @ 518:75216d94a89d
primitivus: fixed messages order in chat window
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 21 Oct 2012 12:03:29 +0200 |
parents | 29b5ef129488 |
children | b7577230a7c8 |
line wrap: on
line diff
--- a/src/plugins/plugin_xep_0045.py Sat Oct 20 19:22:51 2012 +0200 +++ b/src/plugins/plugin_xep_0045.py Sun Oct 21 12:03:29 2012 +0200 @@ -126,6 +126,15 @@ if not self.__check_profile(profile) or not self.clients[profile].joined_rooms.has_key(room_jid_s): return '' return self.clients[profile].joined_rooms[room_jid_s].nick + + def isNickInRoom(self, room_jid, nick, profile): + """Tell if a nick is currently present in a room""" + profile = self.host.memory.getProfileName(profile_key) + if not self.__check_profile(profile): + raise exceptions.UnknownProfileError("Unknown or disconnected profile") + if not self.clients[profile].joined_rooms.has_key(room_jid.userhost()): + raise UnknownRoom("This room has not been joined") + return self.clients[profile].joined_rooms[room_jid.userhost()].inRoster(nick) def getRoomsSubjects(self, profile_key='@DEFAULT@'): """Return received subjects of rooms""" @@ -209,7 +218,6 @@ def getHandler(self, profile): self.clients[profile] = SatMUCClient(self) return self.clients[profile] - class SatMUCClient (muc.MUCClient): @@ -219,7 +227,7 @@ self.plugin_parent = plugin_parent self.host = plugin_parent.host muc.MUCClient.__init__(self) - self.joined_rooms = {} + self.joined_rooms = {} #FIXME: seem to do the same thing as MUCClient's _rooms attribute, must be removed self.rec_subjects = {} self.__changing_nicks = set() # used to keep trace of who is changing nick, # and to discard userJoinedRoom signal in this case @@ -283,7 +291,7 @@ def userUpdatedStatus(self, room, user, show, status): print("FIXME: MUC status not managed yet") - #FIXME: gof + #FIXME: def receivedSubject(self, room, user, subject): debug (_("New subject for room (%(room_id)s): %(subject)s") % {'room_id':room.roomJID.full(),'subject':subject})