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)
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
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
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
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)
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)
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)
def list(self, request, *args, **kwargs): return Response(TagSerializer(Tag.objects.filter(**to_dict(request.query_params)), many=True).data)