Merge branch 'yowsup-2' of https://github.com/stv0g/transwhat.git into yowsup-2

This commit is contained in:
Nico 2017-07-03 23:45:49 +02:00
commit 2911274ab6
3 changed files with 27 additions and 29 deletions

View File

@ -69,7 +69,7 @@ following content:
port = 5221 port = 5221
backend_host = localhost backend_host = localhost
backend = /location/to/transwhat/transwhat.py backend = /usr/bin/transwhat
users_per_backend = 10 users_per_backend = 10
more_resources = 1 more_resources = 1
@ -113,4 +113,4 @@ Install required dependencies:
.. _Spectrum 2: http://www.spectrum.im .. _Spectrum 2: http://www.spectrum.im
.. _Yowsup 2: https://github.com/tgalal/yowsup .. _Yowsup 2: https://github.com/tgalal/yowsup
.. _Github: https://github.com/hanzz/libtransport .. _Github: https://github.com/hanzz/libtransport
.. _**yowsup**: https://github.com/tgalal/yowsup .. _**yowsup**: https://github.com/tgalal/yowsup

View File

@ -33,6 +33,9 @@ setup(name='transwhat',
'transWhat', 'transWhat',
'Spectrum2' 'Spectrum2'
], ],
scripts=[
'transWhat/transwhat.py'
],
install_requires=[ install_requires=[
'protobuf', 'protobuf',
'yowsup2', 'yowsup2',

View File

@ -135,39 +135,34 @@ class Session(YowsupApp):
"\n".join(text) + "\nIf you do not join them you will lose messages" "\n".join(text) + "\nIf you do not join them you will lose messages"
#self.bot.send(message) #self.bot.send(message)
def _updateGroups(self, response, request): def _updateGroups(self, response, _):
self.logger.debug('Received groups list %s' % response) self.logger.debug('Received groups list %s' % response)
groups = response.getGroups() groups = response.getGroups()
for group in groups: for group in groups:
room = group.getId() room = group.getId()
owner = group.getOwner().split('@')[0] # ensure self.groups[room] exists
subjectOwner = group.getSubjectOwner().split('@')[0] if room not in self.groups:
subject = utils.softToUni(group.getSubject()) owner = group.getOwner().split('@')[0]
subjectOwner = group.getSubjectOwner().split('@')[0]
if room in self.groups: subject = utils.softToUni(group.getSubject())
oroom = self.groups[room] self.groups[room] = Group(room, owner, subject, subjectOwner,
oroom.owner = owner self.backend, self.user)
oroom.subjectOwner = subjectOwner # add/update room participants
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])
self.groups[room].addParticipants(group.getParticipants().keys(), self.groups[room].addParticipants(group.getParticipants().keys(),
self.buddies, self.legacyName) 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.gotGroupList = True self.gotGroupList = True
for room, nick in self.joinRoomQueue: # join rooms
self.joinRoom(room, nick) while self.joinRoomQueue:
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() self.updateRoomList()
def joinRoom(self, room, nick): def joinRoom(self, room, nick):