def get(self, request, device_id=None, stream_id=None, format=None): """ Query Device Cloud for DataPoints """ username, password, cloud_fqdn = get_credentials(request) if not username or not password or not cloud_fqdn: return Response(status=status.HTTP_400_BAD_REQUEST) conn = DeviceCloudConnector(username, password, cloud_fqdn) # Only show the data from the last x minutes if 'startTime' in request.GET: try: time = datetime.utcfromtimestamp( float(request.GET['startTime'])) except ValueError: return Response(status=status.HTTP_400_BAD_REQUEST) else: time = datetime.utcnow() - timedelta(minutes=5) time_no_micro = time.replace(microsecond=0) iso_time = time_no_micro.isoformat()+'z' try: data_points = conn.get_datapoints(stream_id, iso_time) except HTTPError, e: return Response(status=e.response.status_code, data=e.response.text)