Example #1
0
def game_config(request):
    sid = int(request.GET.get('serverid'))
    gamelist = {}
    objs = GameConfig.objects.all()
    for obj in objs:
        if obj.serverid == sid:
            data = to_dict(obj, exclude=('id', ))
        gamelist[obj.serverid] = to_dict(obj,
                                         fields=(
                                             'network_ip',
                                             'network_port',
                                             'serverid',
                                             'world',
                                             'login',
                                             'servername',
                                             'http_host',
                                             'status',
                                             'test',
                                             'arenaid',
                                             'trailnotice',
                                             'heroarena',
                                             'warbanner',
                                         ),
                                         deep=False)
    data['gamelist'] = gamelist
    return JsonResponse(data)
Example #2
0
def get_login_config(sid):
    key = _get_login_key(sid)
    data = cache.get(key)
    if not data:
        obj = LoginConfig.objects.get(loginid=sid)
        data = to_dict(obj)
        cache.set(key, data, CACHE_TIME)
    return data
Example #3
0
def _get_game_data(obj):
    data = to_dict(obj, exclude=('id', ))
    data['worldid'] = data['world']['worldid']
    data['loginid'] = data['login']['loginid']
    data['gate'] = {
        'network_ip': data['network_ip'],
        'network_port': data['network_port'],
    }
    data.pop('world')
    data.pop('login')
    return data
Example #4
0
def get_game_config(sid):
    key = _get_game_key(sid)
    data = cache.get(key)
    if not data:
        try:
            obj = GameConfig.objects.get(serverid=sid)
            data = to_dict(obj, deep=False)
            cache.set(key, data, CACHE_TIME)
        except ObjectDoesNotExist:
            pass
    return data
Example #5
0
    def post(self, request):
        data = to_dict(request.data)
        if User.objects.filter(username=data.get('username')):
            return Response({'reason': 'Пользователь с таким логином уже существует'}, status.HTTP_409_CONFLICT)
        if not validate_email(data.get('email'), verify=True):
            return Response({'reason': 'Указанный почтовый ящик не найден'}, status.HTTP_404_NOT_FOUND)

        raw_password = data.pop('password')
        user = User.objects.create(**data, is_active=False)
        user.set_password(raw_password)
        user.save()
        try:
            self.registration_view.request = request
            self.registration_view.send_activation_email(user)
        except Exception as e:
            user.delete()
            return Response({'reason': 'Ошибка при отправке письма'}, status.HTTP_500_INTERNAL_SERVER_ERROR)
        return Response(UserSerializerPrivate(user).data, status.HTTP_201_CREATED)
Example #6
0
def world_config(request):
    sid = request.GET.get('worldid', None)
    obj = WorldConfig.objects.get(worldid=sid)
    data = to_dict(obj, exclude=('id', ))
    return JsonResponse(data)
Example #7
0
def login_config(request):
    sid = request.GET.get('loginid', None)
    obj = LoginConfig.objects.get(loginid=sid)
    data = to_dict(obj, exclude=('id', ))
    return JsonResponse(data)
Example #8
0
 def list(self, request, *args, **kwargs):
     return Response(TagSerializer(Tag.objects.filter(**to_dict(request.query_params)), many=True).data)