toxygen/toxygen/contacts/group_chat.py

52 lines
1.7 KiB
Python
Raw Normal View History

from contacts import contact
2018-05-10 19:47:34 +02:00
import utils.util as util
2018-05-19 15:00:28 +02:00
from wrapper.toxcore_enums_and_consts import *
from wrapper import toxcore_enums_and_consts as constants
2017-07-16 21:51:20 +02:00
2017-07-17 00:11:09 +02:00
class GroupChat(contact.Contact):
2017-07-16 21:51:20 +02:00
2018-04-18 22:55:51 +02:00
def __init__(self, profile_manager, name, status_message, widget, tox, group_number):
super().__init__(None, group_number, profile_manager, name, status_message, widget, None)
2017-07-16 21:51:20 +02:00
self._tox = tox
2017-07-18 20:36:14 +02:00
self.set_status(constants.TOX_USER_STATUS['NONE'])
2018-05-19 15:00:28 +02:00
self._peers = []
self._add_self_to_gc()
2017-07-16 21:51:20 +02:00
2018-05-19 15:00:28 +02:00
def set_topic(self, topic):
self._tox.group_set_topic(self._number, topic.encode('utf-8'))
super().set_status_message(topic)
2017-07-17 20:53:35 +02:00
def remove_invalid_unsent_files(self):
pass
2017-07-18 20:36:14 +02:00
2017-07-18 22:36:40 +02:00
def get_names(self):
2017-07-18 20:36:14 +02:00
peers_count = self._tox.group_number_peers(self._number)
names = []
for i in range(peers_count):
name = self._tox.group_peername(self._number, i)
names.append(name)
names = sorted(names, key=lambda n: n.lower())
2017-07-18 22:36:40 +02:00
return names
def get_full_status(self):
names = self.get_names()
2017-07-18 20:36:14 +02:00
return '\n'.join(names)
2017-07-19 18:39:56 +02:00
def get_peer_name(self, peer_number):
return self._tox.group_peername(self._number, peer_number)
2018-05-19 15:00:28 +02:00
def get_self_name(self):
return self._peers[0].name
# -----------------------------------------------------------------------------------------------------------------
# Private methods
# -----------------------------------------------------------------------------------------------------------------
@staticmethod
def _get_default_avatar_path():
return util.join_path(util.get_images_directory(), 'group.png')
def _add_self_to_gc(self):
pass