From c96fbbb0495e828cad2f224322885091edcd6e36 Mon Sep 17 00:00:00 2001 From: rigid Date: Sat, 25 Mar 2017 13:24:21 +0100 Subject: [PATCH 1/3] make transwhat.py executable by installing transwhat.py as a [script](https://docs.python.org/3/distutils/setupscript.html#installing-scripts), it get's installed in a PATH directory (/usr/bin) and can be executed from there. --- setup.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/setup.py b/setup.py index 824273a..4cea354 100644 --- a/setup.py +++ b/setup.py @@ -33,6 +33,9 @@ setup(name='transwhat', 'transWhat', 'Spectrum2' ], + scripts=[ + 'transWhat/transwhat.py' + ], install_requires=[ 'protobuf', 'yowsup2', From fd477b0eead87706f8ac752725aeeebf45f809cd Mon Sep 17 00:00:00 2001 From: rigid Date: Sat, 25 Mar 2017 13:27:43 +0100 Subject: [PATCH 2/3] call transwhat from PATH When transwhat is installed correctly, distutils should setup $PREFIX/bin/transwhat and $PREFIX/bin/transwhat.py --- INSTALL.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index 9825774..57ea256 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -69,7 +69,7 @@ following content: port = 5221 backend_host = localhost - backend = /location/to/transwhat/transwhat.py + backend = /usr/bin/transwhat users_per_backend = 10 more_resources = 1 @@ -113,4 +113,4 @@ Install required dependencies: .. _Spectrum 2: http://www.spectrum.im .. _Yowsup 2: https://github.com/tgalal/yowsup .. _Github: https://github.com/hanzz/libtransport -.. _**yowsup**: https://github.com/tgalal/yowsup \ No newline at end of file +.. _**yowsup**: https://github.com/tgalal/yowsup From 6563c7282bbe2941eb982c8b2a6c3262540e0f0a Mon Sep 17 00:00:00 2001 From: Bee Date: Sun, 2 Jul 2017 16:37:08 +0200 Subject: [PATCH 3/3] Update session.py see issue #82 --- transWhat/session.py | 49 ++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/transWhat/session.py b/transWhat/session.py index 18732a9..6b3d401 100644 --- a/transWhat/session.py +++ b/transWhat/session.py @@ -135,39 +135,34 @@ class Session(YowsupApp): "\n".join(text) + "\nIf you do not join them you will lose messages" #self.bot.send(message) - def _updateGroups(self, response, request): + def _updateGroups(self, response, _): self.logger.debug('Received groups list %s' % response) groups = response.getGroups() for group in groups: room = group.getId() - owner = group.getOwner().split('@')[0] - subjectOwner = group.getSubjectOwner().split('@')[0] - subject = utils.softToUni(group.getSubject()) - - if room in self.groups: - oroom = self.groups[room] - oroom.owner = owner - oroom.subjectOwner = subjectOwner - oroom.subject = subject - else: - self.groups[room] = Group(room, owner, subject, subjectOwner, self.backend, self.user) -# self.joinRoom(self._shortenGroupId(room), self.user.split("@")[0]) + # ensure self.groups[room] exists + if room not in self.groups: + owner = group.getOwner().split('@')[0] + subjectOwner = group.getSubjectOwner().split('@')[0] + subject = utils.softToUni(group.getSubject()) + self.groups[room] = Group(room, owner, subject, subjectOwner, + self.backend, self.user) + # add/update room participants self.groups[room].addParticipants(group.getParticipants().keys(), - self.buddies, self.legacyName) - - #self._addParticipantsToRoom(room, group.getParticipants()) - - if room in self.groupOfflineQueue: - while self.groupOfflineQueue[room]: - msg = self.groupOfflineQueue[room].pop(0) - self.backend.handleMessage(self.user, room, msg[1], - msg[0], "", msg[2]) - self.logger.debug("Send queued group message to: %s %s %s" % - (msg[0],msg[1], msg[2])) + self.buddies, self.legacyName) self.gotGroupList = True - for room, nick in self.joinRoomQueue: - self.joinRoom(room, nick) - self.joinRoomQueue = [] + # join rooms + while self.joinRoomQueue: + self.joinRoom(*self.joinRoomQueue.pop(0)) + # deliver queued offline messages + for room in self.groupOfflineQueue: + while self.groupOfflineQueue[room]: + msg = self.groupOfflineQueue[room].pop(0) + self.backend.handleMessage(self.user, room, msg[1], msg[0], "", + msg[2]) + self.logger.debug("Send queued group message to: %s %s %s" % + (msg[0], msg[1], msg[2])) + # pass update to backend self.updateRoomList() def joinRoom(self, room, nick):