def index(request): if request.method == 'OPTIONS': return set_options_response() result = validate_request(request) if 'error' in result: return Response({"error": result['error']}, status=result['status'], headers=settings.CORS_HEADERS) name = request.GET.get('name', None) species = request.GET.get('species', None) gender = request.GET.get('gender', None) occupation = request.GET.get('occupation', None) affiliation = request.GET.get('affiliation', None) page = request.GET.get('page', 0) characters_set = Character.objects.all().order_by('id') if name: characters_set = characters_set.filter(name__icontains=name) if species: characters_set = characters_set.filter(info__species__icontains=species) if gender: characters_set = characters_set.filter(info__gender__icontains=gender) if occupation: characters_set = characters_set.filter(info__occupation_rank__icontains=occupation) if affiliation: characters_set = characters_set.filter(info__affiliation__icontains=affiliation) if page: try: page = int(page) except: page = 1; start = settings.RESOURCE_LIMIT*(page-1) end = settings.RESOURCE_LIMIT*(page-1)+settings.RESOURCE_LIMIT characters_set = characters_set[start:end] else: characters_set = characters_set[0:settings.RESOURCE_LIMIT] serializer = CharacterSerializer(characters_set, many=True) # If nothing matches queries if not serializer.data: return Response({"error": settings.MSG_404}, status=404, headers=settings.CORS_HEADERS) return Response(serializer.data, headers=settings.CORS_HEADERS)
def index(request): if request.method == 'OPTIONS': return set_options_response() result = validate_request(request) if 'error' in result: return Response({"error": result['error']}, status=result['status'], headers=settings.CORS_HEADERS) name = request.GET.get('name', None) designation = request.GET.get('designation', None) homeworld = request.GET.get('homeworld', None) page = request.GET.get('page', 0) species_set = Species.objects.all().order_by('id') if name: species_set = species_set.filter(name__icontains=name) if designation: # Avaliable Options : 'Sentient', 'Non-Sentient', 'Semi-Sentient', 'Undefined' species_set = species_set.filter(info__designation__iexact=designation) if homeworld: # Avaliable Options : 'Sentient', 'Non-Sentient', 'Semi-Sentient', 'Undefined' species_set = species_set.filter(info__homeworld__icontains=homeworld) if page: try: page = int(page) except: page = 1; start = settings.RESOURCE_LIMIT*(page-1) end = settings.RESOURCE_LIMIT*(page-1)+settings.RESOURCE_LIMIT species_set = species_set[start:end] else: species_set = species_set[0:settings.RESOURCE_LIMIT] serializer = SpeciesSerializer(species_set, many=True) # If nothing matches queries if not serializer.data: return Response({"error": settings.MSG_404}, status=404, headers=settings.CORS_HEADERS) return Response(serializer.data, headers=settings.CORS_HEADERS)
def index(request): if request.method == 'OPTIONS': return set_options_response() result = validate_request(request) if 'error' in result: return Response({"error": result['error']}, status=result['status'], headers=settings.CORS_HEADERS) name = request.GET.get('name', None) affiliation = request.GET.get('affiliation', None) region = request.GET.get('region', None) page = request.GET.get('page', 0) planets_set = Planet.objects.all().order_by('id') if name: planets_set = planets_set.filter(name__icontains=name) if affiliation: planets_set = planets_set.filter(info__affiliation__icontains=affiliation) if region: planets_set = planets_set.filter(info__region__icontains=region) if page: try: page = int(page) except: page = 1; start = settings.RESOURCE_LIMIT*(page-1) end = settings.RESOURCE_LIMIT*(page-1)+settings.RESOURCE_LIMIT planets_set = planets_set[start:end] else: planets_set = planets_set[0:settings.RESOURCE_LIMIT] serializer = PlanetSerializer(planets_set, many=True) # If nothing matches queries if not serializer.data: return Response({"error": settings.MSG_404}, status=404, headers=settings.CORS_HEADERS) return Response(serializer.data, headers=settings.CORS_HEADERS)
def options(self, request): response = set_options_response() return response
def index(request): if request.method == 'OPTIONS': return set_options_response() result = validate_request(request) if 'error' in result: return Response({"error": result['error']}, status=result['status'], headers=settings.CORS_HEADERS) name = request.GET.get('name', None) vehicle_class = request.GET.get('class', None) affiliation = request.GET.get('affiliation', None) manufacturer = request.GET.get('manufacturer', None) page = request.GET.get('page', 0) vehicles_set = Vehicle.objects.all().order_by('id') if name: vehicles_set = vehicles_set.filter(name__icontains=name) if vehicle_class: # Avaliable Options : 'Starfighter', 'Freighter', 'Walker', 'Star Destroyer', # 'Unknown', 'Tank', 'Gunship', 'Frigate', 'Transport', 'Cruiser', 'Flagship', # 'Shuttle', 'Speeder', 'Capital Ship', 'Battleship', 'Repulsorcraft' ,'Vessel' # 'Dreadnaught', 'Carrier' vehicles_set = vehicles_set.filter( info__class__icontains=vehicle_class) if affiliation: vehicles_set = vehicles_set.filter( info__affiliation__icontains=affiliation) if manufacturer: # 'Rothana Heavy Engineering', 'Kuat Drive Yards', 'Kuat Systems Engineering', # 'Hoar Chall Engineering', 'Unknown', 'Umbarans', 'Slayn & Korpil', 'Gallofree Yards', # 'Hoersch-Kessel Drive, Inc.', 'Zygerrian Slave Empire', 'Corellian Engineering', # 'Quarren', 'MandalMotors', 'Techno Union', 'Baktoid Armor Workshop', 'Botajef Shipyards', # 'Lantillian ShipWrights', 'Huppla Pasa Tisc Shipwrights Collective', 'SoroSuub Corporation' # 'Cygnus Spaceworks', 'Trade Federation', 'Kalevala Spaceworks' vehicles_set = vehicles_set.filter( info__manufacturer__icontains=manufacturer) if page: try: page = int(page) except: page = 1 start = settings.RESOURCE_LIMIT * (page - 1) end = settings.RESOURCE_LIMIT * (page - 1) + settings.RESOURCE_LIMIT vehicles_set = vehicles_set[start:end] else: vehicles_set = vehicles_set[0:settings.RESOURCE_LIMIT] serializer = VehicleSerializer(vehicles_set, many=True) # If nothing matches queries if not serializer.data: return Response({"error": settings.MSG_404}, status=404, headers=settings.CORS_HEADERS) return Response(serializer.data, headers=settings.CORS_HEADERS)