def __login(self): class LoginInfo: pass login = LoginInfo() login.username = self.__user BigWorld.connect(self.__host, login, self.__progressFn)
def connect( self, url, login, password, publicKeyPath=None, nickName=None, token2="", isNeedSavingPwd=False, tokenLoginParams=None, ): self.disconnect() self.__isVersionsDiffered = False self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) basicLoginParams = {"login": login, "auth_method": AUTH_METHODS.BASIC} loginParams = tokenLoginParams if tokenLoginParams is not None else basicLoginParams loginParams["session"] = md5hex(getHardwareID()) loginParams["auth_realm"] = constants.AUTH_REALM loginParams["game"] = "wot" loginParams["temporary"] = str(int(not isNeedSavingPwd)) if nickName is not None: loginParams["nickname"] = nickName loginParams["auto_registration"] = "true" if constants.IS_IGR_ENABLED: loginParams["is_igr"] = "1" if token2: loginParams["token2"] = token2 loginParams["auth_method"] = AUTH_METHODS.TOKEN2 LOG_NOTE("User authentication method: {0}".format(loginParams["auth_method"])) clientContext = {"lang_id": getClientLanguage()} class LoginInfo: pass loginInfo = LoginInfo() loginInfo.username = json.dumps(loginParams).encode("utf8") loginInfo.password = password loginInfo.clientContext = json.dumps(clientContext) loginInfo.inactivityTimeout = constants.CLIENT_INACTIVITY_TIMEOUT if publicKeyPath is not None: loginInfo.publicKeyPath = publicKeyPath if login and constants.IS_DEVELOPMENT and login[0] == "@": try: loginInfo.username = login[1:] except IndexError: loginInfo.username = login BigWorld.connect(url, loginInfo, partial(self.connectionWatcher, nickName is not None)) self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) self.__loginName = login if g_preDefinedHosts.predefined(url) or g_preDefinedHosts.roaming(url): self.__host = g_preDefinedHosts.byUrl(url) else: for server in BigWorld.serverDiscovery.servers: if server.serverString == url: self.__host = self.__host._replace(name=server.ownerName) break return
def connect(self, url, login, password, publicKeyPath=None, nickName=None, token2='', isNeedSavingPwd=False, tokenLoginParams=None): self.disconnect() self.__isVersionsDiffered = False self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) basicLoginParams = {'login': login, 'auth_method': AUTH_METHODS.BASIC} loginParams = tokenLoginParams if tokenLoginParams is not None else basicLoginParams loginParams['session'] = md5hex(getHardwareID()) loginParams['auth_realm'] = constants.AUTH_REALM loginParams['game'] = 'wot' loginParams['temporary'] = str(int(not isNeedSavingPwd)) if nickName is not None: loginParams['nickname'] = nickName loginParams['auto_registration'] = 'true' if constants.IS_IGR_ENABLED: loginParams['is_igr'] = '1' if token2: loginParams['token2'] = token2 loginParams['auth_method'] = AUTH_METHODS.TOKEN2 LOG_NOTE('User authentication method: {0}'.format( loginParams['auth_method'])) clientContext = {'lang_id': getClientLanguage()} class LoginInfo: pass loginInfo = LoginInfo() loginInfo.username = json.dumps(loginParams).encode('utf8') loginInfo.password = password loginInfo.clientContext = json.dumps(clientContext) loginInfo.inactivityTimeout = constants.CLIENT_INACTIVITY_TIMEOUT if publicKeyPath is not None: loginInfo.publicKeyPath = publicKeyPath if login and constants.IS_DEVELOPMENT and login[0] == '@': try: loginInfo.username = login[1:] except IndexError: loginInfo.username = login BigWorld.connect(url, loginInfo, partial(self.connectionWatcher, nickName is not None)) self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) self.__loginName = login if g_preDefinedHosts.predefined(url) or g_preDefinedHosts.roaming(url): self.__host = g_preDefinedHosts.byUrl(url) else: for server in BigWorld.serverDiscovery.servers: if server.serverString == url: self.__host = self.__host._replace(name=server.ownerName) break
def connect(self, url, login, password, publicKeyPath = None, nickName = None, token2 = '', isNeedSavingPwd = False): self.disconnect() LOG_DEBUG('url: %s; login: %s; pass: %s; name: %s; token: %s' % (url, login, password, nickName, token2)) self.__isVersionsDiffered = False if len(login) > 0 and url is not None: self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) authMethod = AUTH_METHODS.BASIC if constants.IS_VIETNAM: authMethod = AUTH_METHODS.EBANK dct = {'login': login, 'auth_method': authMethod, 'session': md5hex(getHardwareID())} if nickName is not None: dct['nickname'] = nickName dct['auto_registration'] = 'true' if constants.IS_IGR_ENABLED: dct['is_igr'] = '1' if token2: dct['token2'] = token2 dct['auth_method'] = AUTH_METHODS.TOKEN2 dct['auth_realm'] = constants.AUTH_REALM dct['game'] = 'wot' dct['temporary'] = str(int(not isNeedSavingPwd)) class LoginInfo: pass loginInfo = LoginInfo() loginInfo.username = json.dumps(dct).encode('utf8') loginInfo.password = password loginInfo.inactivityTimeout = constants.CLIENT_INACTIVITY_TIMEOUT if publicKeyPath is not None: loginInfo.publicKeyPath = publicKeyPath if constants.IS_DEVELOPMENT and login[0] == '@': try: loginInfo.username = login[1:] except Exception: loginInfo.username = login BigWorld.connect(url, loginInfo, partial(self.connectionWatcher, nickName is not None)) self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) self.__loginName = login if g_preDefinedHosts.predefined(url) or g_preDefinedHosts.roaming(url): self.__host = g_preDefinedHosts.byUrl(url) else: for server in BigWorld.serverDiscovery.servers: if server.serverString == url: self.__host = self.__host._replace(name=server.ownerName) break
def __connect(self): self.__retryConnectionCallbackID = None LOG_DEBUG('Calling BigWorld.connect with params: {0}, serverName: {1}, inactivityTimeout: {2}, publicKeyPath: {3}'.format(self.__connectionData.username, self.__connectionUrl, constants.CLIENT_INACTIVITY_TIMEOUT, self.__connectionData.publicKeyPath)) BigWorld.connect(self.__connectionUrl, self.__connectionData, self.__serverResponseHandler) if g_preDefinedHosts.predefined(self.__connectionUrl) or g_preDefinedHosts.roaming(self.__connectionUrl): self.__hostItem = g_preDefinedHosts.byUrl(self.__connectionUrl) else: for server in BigWorld.serverDiscovery.servers: if server.serverString == self.__connectionUrl: self.__hostItem = self.__hostItem._replace(name=server.ownerName) break return
def connect(self, url, login, password, publicKeyPath = None, nickName = None, token2 = '', isNeedSavingPwd = False, tokenLoginParams = None): self.disconnect() self.__isVersionsDiffered = False self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) basicLoginParams = {'login': login, 'auth_method': AUTH_METHODS.BASIC} loginParams = tokenLoginParams if tokenLoginParams is not None else basicLoginParams loginParams['session'] = md5hex(getHardwareID()) loginParams['auth_realm'] = constants.AUTH_REALM loginParams['game'] = 'wot' loginParams['temporary'] = str(int(not isNeedSavingPwd)) if nickName is not None: loginParams['nickname'] = nickName loginParams['auto_registration'] = 'true' if constants.IS_IGR_ENABLED: loginParams['is_igr'] = '1' if token2: loginParams['token2'] = token2 loginParams['auth_method'] = AUTH_METHODS.TOKEN2 LOG_NOTE('User authentication method: {0}'.format(loginParams['auth_method'])) class LoginInfo: pass loginInfo = LoginInfo() loginInfo.username = json.dumps(loginParams).encode('utf8') loginInfo.password = password loginInfo.inactivityTimeout = constants.CLIENT_INACTIVITY_TIMEOUT if publicKeyPath is not None: loginInfo.publicKeyPath = publicKeyPath if login and constants.IS_DEVELOPMENT and login[0] == '@': try: loginInfo.username = login[1:] except IndexError: loginInfo.username = login BigWorld.connect(url, loginInfo, partial(self.connectionWatcher, nickName is not None)) self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) self.__loginName = login if g_preDefinedHosts.predefined(url) or g_preDefinedHosts.roaming(url): self.__host = g_preDefinedHosts.byUrl(url) else: for server in BigWorld.serverDiscovery.servers: if server.serverString == url: self.__host = self.__host._replace(name=server.ownerName) break return
def connect_with_token2(self, url, token2, publicKeyPath=None, nickName=None): if url is not None: LOG_DEBUG('connect_with_token2 || url: %s; token2: %s' % (url, token2)) class LoginInfo: pass loginInfo = LoginInfo() dct = { 'login': '', 'auth_method': AUTH_METHODS.TOKEN2, 'session': md5hex(getHardwareID()) } loginInfo.inactivityTimeout = CLIENT_INACTIVITY_TIMEOUT if nickName is not None: dct['nickname'] = nickName dct['auto_registration'] = 'true' dct['token2'] = token2 dct['game'] = 'wowp' dct['temporary'] = '0' if config_consts.IS_IGR_ENABLED: dct['is_igr'] = '1' loginInfo.username = json.dumps(dct).encode('utf8') loginInfo.password = '' LOG_DEBUG(loginInfo.username) if publicKeyPath is not None: loginInfo.publicKeyPath = publicKeyPath BigWorld.connect( url, loginInfo, partial(self.connectionWatcher, nickName is not None)) self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) return
def connect_with_token1(self, url, token1, spaID, publicKeyPath=None, nickName=None): if url is not None: LOG_DEBUG('connect_with_token1 || url: %s; token1: %s; spaID: %s' % (url, token1, spaID)) class LoginInfo: pass loginInfo = LoginInfo() dct = { 'login': '', 'auth_method': AUTH_METHODS.TOKEN1, 'session': md5hex(getHardwareID()) } loginInfo.inactivityTimeout = CLIENT_INACTIVITY_TIMEOUT dct['temporary'] = '0' dct['account_id'] = spaID dct['ip'] = '127.0.0.1' dct['game'] = 'wowp' dct['requested_for'] = 'wowp' dct['token'] = token1 loginInfo.username = json.dumps(dct).encode('utf8') loginInfo.password = '' LOG_DEBUG(loginInfo.username) if publicKeyPath is not None: loginInfo.publicKeyPath = publicKeyPath BigWorld.connect( url, loginInfo, partial(self.connectionWatcher, nickName is not None)) self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) return
def __tryConnect(self): if self.__connectionInProgress: LOG_WARNING('Try to call BigWorld.connect while connection in progress, but on nextTick') return self.__connectionInProgress = True BigWorld.connect(self.__connectionUrl, self.__connectionData, self.__serverResponseHandler)
def connect(self, url, login, password, publicKeyPath=None, nickName=None, token2=''): self.disconnect() LOG_DEBUG('url: %s; login: %s; pass: %s; name: %s; token: %s' % (url, login, password, nickName, token2)) if len(login) > 0 and url is not None: self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) authMethod = AUTH_METHODS.BASIC if constants.IS_VIETNAM: authMethod = AUTH_METHODS.EBANK dct = { 'login': login, 'auth_method': authMethod, 'session': md5hex(getHardwareID()) } if nickName is not None: dct['nickname'] = nickName dct['auto_registration'] = 'true' if constants.IS_KOREA: dct['is_igr'] = '1' if token2: dct['token2'] = token2 dct['auth_method'] = AUTH_METHODS.TOKEN2 dct['auth_realm'] = constants.AUTH_REALM dct['game'] = 'wot' class LoginInfo: pass loginInfo = LoginInfo() loginInfo.username = json.dumps(dct).encode('utf8') loginInfo.password = password loginInfo.inactivityTimeout = constants.CLIENT_INACTIVITY_TIMEOUT if publicKeyPath is not None: loginInfo.publicKeyPath = publicKeyPath if constants.IS_DEVELOPMENT and login[0] == '@': try: loginInfo.username = login[1:] except Exception: loginInfo.username = login BigWorld.connect( url, loginInfo, partial(self.connectionWatcher, nickName is not None)) self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) self.__loginName = login if g_preDefinedHosts.predefined(url) or g_preDefinedHosts.roaming( url): self.__host = g_preDefinedHosts.byUrl(url) else: for server in BigWorld.serverDiscovery.servers: if server.serverString == url: self.__host = self.__host._replace( name=server.ownerName) break return
def connect(self, url, login, password, publicKeyPath=None, areaID=None, nickName=None, token2='', rememberPassword=False, authMethod=None, token1='', spaID=None): self.disconnect() LOG_DEBUG( 'url: %s; login: %s; pass: %s; name: %s; areaID: %s; authMethod: %s; token1: %s; token2: %s; spaID: %s' % (url, login, password, nickName, areaID, authMethod, token1, token2, spaID)) if url is not None: class LoginInfo: pass loginInfo = LoginInfo() dct = { 'login': '', 'auth_method': '', 'session': md5hex(getHardwareID()) } loginInfo.inactivityTimeout = CLIENT_INACTIVITY_TIMEOUT if publicKeyPath is not None: loginInfo.publicKeyPath = publicKeyPath if authMethod == AUTH_METHODS.TOKEN1: dct['temporary'] = '0' dct['account_id'] = spaID dct['ip'] = '127.0.0.1' dct['game'] = 'wowp' dct['requested_for'] = 'wowp' dct['token'] = token1 dct['auth_method'] = AUTH_METHODS.TOKEN1 loginInfo.username = json.dumps(dct).encode('utf8') loginInfo.password = '' elif len(login) > 0 or token2: self.__setConnectionStatus( CONNECTION_STATUS.connectionInProgress) if nickName is not None: dct['nickname'] = nickName dct['auto_registration'] = 'true' if token2: dct['login'] = '' dct['token2'] = token2 dct['auth_method'] = AUTH_METHODS.TOKEN2 else: dct['login'] = login dct['auth_method'] = AUTH_METHODS.EBANK if config_consts.IS_VIETNAM else AUTH_METHODS.BASIC if config_consts.IS_IGR_ENABLED: dct['is_igr'] = '1' dct['game'] = 'wowp' dct['temporary'] = str(int(not rememberPassword)) loginInfo.username = json.dumps(dct).encode('utf8') if not token2: loginInfo.password = password if len(login) > 0 and IS_DEVELOPMENT and login[0] == '@': try: loginInfo.username = login[1:] except Exception: loginInfo.username = login else: return BigWorld.connect( url, loginInfo, partial(self.connectionWatcher, nickName is not None)) self.__setConnectionStatus(CONNECTION_STATUS.connectionInProgress) self.__loginName = login self.__areaID = areaID if g_preDefinedHosts.predefined(url): host = g_preDefinedHosts.byUrl(url) self.__host = host else: for server in BigWorld.serverDiscovery.servers: if server.serverString == url: self.__host = self.__host._replace( name=server.ownerName) break return