def login(self, tracker_ip, tracker_port = 80): try: login_sock = connect_socket(tracker_ip, tracker_port) login_sock.send("LOGI") login_sock.send(format_ip_address(get_local_ip(login_sock.getsockname()[0]))) login_sock.send(format_port_number(self.local_port)) response = read_from_socket(login_sock, 4) #read ALGI if response == "ALGI": my_session_id = read_from_socket(login_sock, 16) login_sock.close() UsersManager.set_my_session_id(my_session_id) klog("Done. My session id is: %s" % my_session_id) UsersManager.set_tracker(Peer(tracker_ip,tracker_port)) self.ui_handler.login_done(my_session_id) return True else: raise Exception("Response command error: %s" %response) except Exception, ex: klog(str(ex)) self.ui_handler.login_done(None)