Beispiel #1
0
 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
Beispiel #3
0
 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
Beispiel #4
0
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)
Beispiel #5
0
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)
Beispiel #6
0
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)