def tox_factory(data=None, settings=None): """ :param data: user data from .tox file. None = no saved data, create new profile :param settings: current profile settings. None = default settings will be used :return: new tox instance """ if settings is None: settings = { 'ipv6_enabled': True, 'udp_enabled': True, 'proxy_type': 0, 'proxy_host': '0', 'proxy_port': 0, 'start_port': 0, 'end_port': 0, 'tcp_port': 0 } tox_options = Tox.options_new() tox_options.contents.udp_enabled = settings['udp_enabled'] tox_options.contents.proxy_type = settings['proxy_type'] tox_options.contents.proxy_host = settings['proxy_host'] tox_options.contents.proxy_port = settings['proxy_port'] tox_options.contents.start_port = settings['start_port'] tox_options.contents.end_port = settings['end_port'] tox_options.contents.tcp_port = settings['tcp_port'] if data: # load existing profile tox_options.contents.savedata_type = TOX_SAVEDATA_TYPE['TOX_SAVE'] tox_options.contents.savedata_data = c_char_p(data) tox_options.contents.savedata_length = len(data) else: # create new profile tox_options.contents.savedata_type = TOX_SAVEDATA_TYPE['NONE'] tox_options.contents.savedata_data = None tox_options.contents.savedata_length = 0 return Tox(tox_options)
def test_tox(self): """ t:size t:save t:load """ assert self.alice.size() > 0 data = self.alice.save() assert data != None addr = self.alice.get_address() self.alice.kill() self.alice = Tox() self.alice.load(data) assert addr == self.alice.get_address()
def test_tox_from_file(self): """ t:save_to_file t:load_from_file """ self.alice.save_to_file('data') addr = self.alice.get_address() self.alice.kill() self.alice = Tox() #: Test invalid file try: self.alice.load_from_file('not_exists') except OperationFailedError: pass else: assert False self.alice.load_from_file('data') assert addr == self.alice.get_address()
def test_connection_status(self): """ t:get_friend_connection_status t:on_connection_status """ self.bob_add_alice_as_friend() AID = self.aid def on_connection_status(self, friend_id, status): assert friend_id == AID assert status == False self.cs = True BobTox.on_connection_status = on_connection_status self.bob.cs = False self.alice.kill() self.alice = Tox() assert self.wait_callback(self.bob, 'cs') BobTox.on_connection_status = Tox.on_connection_status assert self.bob.get_friend_connection_status(self.aid) == False