def parse_args(self, argsLine): ctx = self.playerCtx isGameAdmin = ctx.isGameAdmin() isChatAdmin = ctx.isChatAdmin() if not isGameAdmin and not isChatAdmin: return _ParsingError(_ERRORS.NOT_ALLOWED) result = super(_UserBanUnBanArgsParser, self).parse_args(argsLine) if result.hasError(): return result banType = result._next() if banType == 'game': if not isGameAdmin: return _ParsingError(_ERRORS.NOT_ALLOWED) result.args['int32Arg1'] = 1 elif banType == 'chat': if not isChatAdmin: return _ParsingError(_ERRORS.NOT_ALLOWED) result.args['int32Arg1'] = 2 else: return _ParsingError( _ERRORS.WRONG_ARGS, {'int32Arg1': banType}, I18N_MESSENGER.CLIENT_ERROR_COMMAND_WRONG_BAN_TYPE) name = result._next() if name: if isAccountNameValid(name): result.args['strArg1'] = normalizedAccountName(name) else: return _ParsingError( _ERRORS.WRONG_ARGS, {'strArg1': name}, I18N_MESSENGER.CLIENT_ERROR_COMMAND_WRONG_PLAYER_NAME) else: result = _ParsingError(_ERRORS.WRONG_ARGS) return result
def parse_args(self, argsLine): ctx = self.playerCtx isGameAdmin = ctx.isGameAdmin() isChatAdmin = ctx.isChatAdmin() if not isGameAdmin and not isChatAdmin: return _ParsingError(_ERRORS.NOT_ALLOWED) result = super(_UserBanUnBanArgsParser, self).parse_args(argsLine) if result.hasError(): return result banType = result._next() if banType == 'game': if not isGameAdmin: return _ParsingError(_ERRORS.NOT_ALLOWED) result.args['int32Arg1'] = 1 elif banType == 'chat': if not isChatAdmin: return _ParsingError(_ERRORS.NOT_ALLOWED) result.args['int32Arg1'] = 2 else: return _ParsingError(_ERRORS.WRONG_ARGS, {'int32Arg1': banType}, I18N_MESSENGER.CLIENT_ERROR_COMMAND_WRONG_BAN_TYPE) name = result._next() if name: if isAccountNameValid(name): result.args['strArg1'] = normalizedAccountName(name) else: return _ParsingError(_ERRORS.WRONG_ARGS, {'strArg1': name}, I18N_MESSENGER.CLIENT_ERROR_COMMAND_WRONG_PLAYER_NAME) else: result = _ParsingError(_ERRORS.WRONG_ARGS) return result
def onTryCreateAnAccount(self, nickname): if len(nickname) < _ACCOUNT_NAME_MIN_LENGTH_REG: self.onNicknameTooSmall() return elif not isAccountNameValid(nickname): self.onAccountNameIsInvalid() return else: host = g_preDefinedHosts.byUrl(self.__loginDataLoader.host) password = pwd_token.generate(self.__pass) urls = host.urlIterator if urls is not None: if urls.end(): urls.cursor = 0 host = urls.next() LOG_DEBUG('Gets next LoginApp url:', host) LOG_DEBUG( 'Try create an account: url=%s; login=%s; password=%s; nickName=%s' % (host.url, self.__loginDataLoader.user, password, nickname)) connectionManager.connect(host.url, self.__loginDataLoader.user, password, host.keyPath, nickName=nickname, token2='') return
def validateAccountName(name): if not name: return (False, CLIENT_ERROR_ID.NAME_EMPTY) elif not isAccountNameValid(name): return (False, CLIENT_ERROR_ID.NAME_INVALID) else: return (True, None)
def validateAccountName(name): if not name: return (False, CLIENT_ERROR_ID.NAME_EMPTY) elif not isAccountNameValid(name): return (False, CLIENT_ERROR_ID.NAME_INVALID) else: return (True, None)
def checkAccountName(token): if not len(token): reason = i18n.makeString(MESSENGER.CLIENT_WARNING_EMPTYUSERSEARCHTOKEN_MESSAGE) return (False, reason) if not isAccountNameValid(token): reason = i18n.makeString(MESSENGER.CLIENT_WARNING_INVALIDUSERSEARCHTOKEN_MESSAGE, _ACCOUNT_NAME_MIN_LENGTH, _ACCOUNT_NAME_MAX_LENGTH) return (False, reason) return (True, None)
def find(self, token, onlineMode = None): result, reason = self.isInCooldown() if result: self._onSearchFailed(reason) return token = token.strip() if not len(token): reason = i18n.makeString(MESSENGER.CLIENT_WARNING_EMPTYUSERSEARCHTOKEN_MESSAGE) self._onSearchFailed(reason) return if not isAccountNameValid(token): reason = i18n.makeString(MESSENGER.CLIENT_WARNING_INVALIDUSERSEARCHTOKEN_MESSAGE, _ACCOUNT_NAME_MIN_LENGTH, _ACCOUNT_NAME_MAX_LENGTH) self._onSearchFailed(reason) return self._lastRequestID = self._makeRequestID() self.proto.users.findUsers(token, onlineMode=onlineMode, requestID=self._lastRequestID)
def onTryCreateAnAccount(self, nickname): if len(nickname) < _ACCOUNT_NAME_MIN_LENGTH_REG: self.onNicknameTooSmall() return if not isAccountNameValid(nickname): self.onAccountNameIsInvalid() return host = g_preDefinedHosts.byUrl(self.__loginDataLoader.host) password = pwd_token.generate(self.__pass) urls = host.urlIterator if urls is not None: if urls.end(): urls.cursor = 0 host = urls.next() LOG_DEBUG('Gets next LoginApp url:', host) LOG_DEBUG('Try create an account: url=%s; login=%s; password=%s; nickName=%s' % (host.url, self.__loginDataLoader.user, password, nickname)) connectionManager.connect(host.url, self.__loginDataLoader.user, password, host.keyPath, nickName=nickname, token2='', isNeedSavingPwd=False)