def post(self, request, format=None): """ :param request: :param format: :return: """ data = JSONParser().parse(request) data['owner'] = self.request.user.pk x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: data['remote_address'] = x_forwarded_for.split(',')[-1].strip() else: data['remote_address'] = request.META.get( 'REMOTE_ADDR') + "&" + request.META.get( 'HTTP_USER_AGENT') + "&" + request.META.get( 'SERVER_PROTOCOL') data['channel'] = get_object_or_404(Channel, api_key=data['api_key']).pk debug(data) serializer = DataSerializer(data=data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, api_key, format=None): """ http -a username:password --json POST http://127.0.0.1:8000/api/v1/data/API-KEY/ name_id="123" value="0" :param request: :param format: :return: """ data = JSONParser().parse(request) data['owner'] = self.request.user.pk x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: data['remote_address'] = x_forwarded_for.split(',')[-1].strip() else: data['remote_address'] = request.META.get( 'REMOTE_ADDR') + "&" + request.META.get( 'HTTP_USER_AGENT') + "&" + request.META.get( 'SERVER_PROTOCOL') name = get_object_or_404(Element, name_id=data['name_id']).channel data['channel'] = get_object_or_404(Channel, api_key=api_key, name=name).pk serializer = DataSerializer(data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data, status=201) return JSONResponse(serializer.errors, status=400)
def post(self, request, format=None): """ :param request: :param format: :return: """ data = JSONParser().parse(request) data['owner'] = self.request.user.pk x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: data['remote_address'] = x_forwarded_for.split(',')[-1].strip() else: data['remote_address'] = request.META.get('REMOTE_ADDR') + "&" + request.META.get('HTTP_USER_AGENT') + "&" + request.META.get('SERVER_PROTOCOL') data['channel'] = get_object_or_404(Channel, api_key=data['api_key']).pk debug(data) serializer = DataSerializer(data=data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def put(self, request, pk, format=None): datas = self.get_object(pk) serializer = DataSerializer(datas, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def put(self, request, pk, format=None): """ :param request: :param pk: :param format: :return: """ datas = self.get_object(pk) serializer = DataSerializer(datas, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get(self, request, format=None): project_id = request.GET.get('project') if project_id is None: return Response({"error": "project parameter is missing"}, 400) project = Project.objects.filter(id=project_id).first() if project is None: return Response({"error": "project=%s not found" % project_id}, 404) data = Data.objects.filter(dataset=project.dataset.id).all() ret = [] label = Label.objects.filter(project=project).all() data = DataSerializer(data, many=True) label = LabelSerializer(label, many=True) label = {x['id']: x for x in label.data} for d in data.data: datum = {} datum['data'] = d datum['label'] = label.get(d['id'], None) ret.append(datum) return Response({"data": ret})
def get(self, request, pk, format=None): search = request.GET.get('search') print(search) dataset = self.get_object(pk) serializer = DatasetSerializer(dataset) serializedData = DataSerializer(Data.objects.filter(dataset=dataset), many=True) return Response({"data": serializedData.data})
def post(self, request, format=None): try: api_key = request.data['api_key'] device = get_object_or_404(Device, api_key=api_key, enable=True) request.data['device'] = device.pk request.data['remote_address'] = ip_address(request) serializer = DataSerializer(data=request.data) debug(serializer) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) except: msg_err = {'err': 'API KEY not found!'} return Response(msg_err, status=status.HTTP_400_BAD_REQUEST)
def get(self, request, pk, api_key, format=None): """ :param request: :param pk: :param format: :return: """ datas = self.get_object(request, pk, api_key) serializer = DataSerializer(datas) return Response(serializer.data)
def get(self, request, format=None): # api_key= request.GET['api_key'] # device = get_object_or_404(Device, api_key=api_key, enable=True) try: if request.GET['last']: datas = Data.objects.all()[:1] except: datas = Data.objects.all() serializer = DataSerializer(datas, many=True) return Response(serializer.data)
def get(self, request, api_key, format=None): """ http --json http://127.0.0.1:8000/api/v1/data/API-KEY/ http -a username:password --json http://127.0.0.1:8000/api/v1/data/API-KEY/ :param request: :param format: :return: """ try: datas = Data.objects.filter(owner=request.user, channel=Channel.objects.get(api_key=api_key)).order_by('-pk')[:100] serializer = DataSerializer(datas, many=True) return Response(serializer.data) except: raise Http404
def get(self, request, format=None): """ :param request: :param format: :return: """ try: if request.GET['data'] == 'first': datas = Data.objects.order_by('pub_date')[:1] elif request.GET['data'] == 'last': datas = Data.objects.order_by('-pub_date')[:1] except: datas = Data.objects.all() serializer = DataSerializer(datas, many=True) return Response(serializer.data)
def get(self, request, format=None): project_id = request.GET.get('project') if project_id is None: return Response({"error": "project is missing"}, 400) project = Project.objects.filter(id=project_id).first() if project is None: return Response({"error": "project=%s not found" % project_id}, 404) search = request.GET.get('search') encode = request.GET.get('encode', '0') if search: if encode == '1': search = base64.b64decode(search).decode('utf8') print(search) search = expression.jsep(search).parsed datas = Data.objects.filter(dataset=project.dataset).all() labels = Label.objects.filter(project=project).all() dataSerializers = DataSerializer(datas, many=True) lblSerializers = LabelSerializer(labels, many=True) response = [] for d in dataSerializers.data: resp = {} resp['data'] = d for lbl in labels: if lbl.dat.id == d['id']: resp['label'] = LabelSerializer(lbl).data break response.append(resp) if search: response = [ r for r in response if expression.applyExpression({"data": r}, search) ] return Response(response)
def get(self, request, pk, format=None): datas = self.get_object(pk) serializer = DataSerializer(datas) return Response(serializer.data)
def get(self, request, dataset_id=None, format=None): filt = request.GET.get('search') datasets = Data.objects.all() serializer = DataSerializer(datasets, many=True) return Response({"data": serializer.data})