Exemplo n.º 1
0
def list_pets():
    """ Returns all of the Pets """
    app.logger.info('Request to list Pets...')
    pets = []
    category = request.args.get('category')
    name = request.args.get('name')
    available = request.args.get('available')
    if available:  # convert to boolean
        available = available.lower() in ['true', 'yes', '1']
    if category:
        app.logger.info('Find by category: %s', category)
        pets = Pet.find_by_category(category)
    elif name:
        app.logger.info('Find by name: %s', name)
        pets = Pet.find_by_name(name)
    elif available:
        app.logger.info('Find by available: %s', available)
        pets = Pet.find_by_availability(available)
    else:
        app.logger.info('Find all')
        pets = Pet.all()

    app.logger.info('[%s] Pets returned', len(pets))
    results = [pet.serialize() for pet in pets]
    return make_response(jsonify(results), status.HTTP_200_OK)
Exemplo n.º 2
0
def list_pets():
    """Returns all of the Pets"""
    app.logger.info("Request for pet list")

    pets = []

    category = request.args.get("category")
    name = request.args.get("name")
    available = request.args.get("available")
    gender = request.args.get("gender")

    if category:
        app.logger.info("Filtering by category: %s", category)
        pets = Pet.find_by_category(category)
    elif name:
        app.logger.info("Filtering by name:%s", name)
        pets = Pet.find_by_name(name)
    elif available:
        app.logger.info("Filtering by available: %s", available)
        is_available = available.lower() in ["yes", "y", "true", "t", "1"]
        pets = Pet.find_by_availability(is_available)
    elif gender:
        app.logger.info("Filtering by gender: %s", gender)
        pets = Pet.find_by_gender(gender)
    else:
        pets = Pet.all()

    results = [pet.serialize() for pet in pets]
    app.logger.info("Returning %d pets", len(results))
    return make_response(jsonify(results), status.HTTP_200_OK)
Exemplo n.º 3
0
 def test_find_by_category(self):
     """ Find a Pet by Category """
     Pet("fido", "dog").save()
     Pet("kitty", "cat").save()
     pets = Pet.find_by_category("cat")
     self.assertNotEqual(len(pets), 0)
     self.assertEqual(pets[0].category, "cat")
     self.assertEqual(pets[0].name, "kitty")
Exemplo n.º 4
0
 def test_find_by_category(self):
     """ Find Pets by Category """
     Pet(name="fido", category="dog", available=True).create()
     Pet(name="kitty", category="cat", available=False).create()
     pets = Pet.find_by_category("cat")
     self.assertEqual(pets[0].category, "cat")
     self.assertEqual(pets[0].name, "kitty")
     self.assertEqual(pets[0].available, False)
Exemplo n.º 5
0
 def test_for_case_insensitive(self):
     """ Test for Case Insensitive Search """
     Pet(0, "Fido", "DOG").save()
     Pet(0, "Kitty", "CAT").save()
     pets = Pet.find_by_name("fido")
     self.assertNotEqual(len(pets), 0)
     self.assertEqual(pets[0].name, "Fido")
     pets = Pet.find_by_category("cat")
     self.assertNotEqual(len(pets), 0)
     self.assertEqual(pets[0].category, "CAT")
Exemplo n.º 6
0
 def test_find_by_category(self):
     """Find a Pet by Category"""
     pets = self._create_pets(5)
     category = pets[0].category
     category_count = len([pet for pet in pets if pet.category == category])
     logging.debug("Looking for %d Pets in category %s", category_count,
                   category)
     found_pets = Pet.find_by_category(category)
     self.assertEqual(len(found_pets), category_count)
     for pet in found_pets:
         self.assertEqual(pet.category, category)
Exemplo n.º 7
0
 def test_find_by_category(self):
     """It should Find Pets by Category"""
     pets = PetFactory.create_batch(10)
     for pet in pets:
         pet.create()
     category = pets[0].category
     count = len([pet for pet in pets if pet.category == category])
     found = Pet.find_by_category(category)
     self.assertEqual(found.count(), count)
     for pet in found:
         self.assertEqual(pet.category, category)
Exemplo n.º 8
0
def list_pets():
    """ Returns all of the Pets """
    app.logger.info("Request for pet list")
    pets = []
    category = request.args.get("category")
    name = request.args.get("name")
    if category:
        pets = Pet.find_by_category(category)
    elif name:
        pets = Pet.find_by_name(name)
    else:
        pets = Pet.all()

    results = [pet.serialize() for pet in pets]
    return make_response(jsonify(results), status.HTTP_200_OK)
Exemplo n.º 9
0
def list_pets():
    """ Returns all of the Pets """
    app.logger.info('Request for List Pets')
    pets = []
    category = request.args.get('category')
    name = request.args.get('name')
    available = request.args.get('available')
    if category:
        pets = Pet.find_by_category(category)
    elif name:
        pets = Pet.find_by_name(name)
    elif available:
        pets = Pet.find_by_availability(available)
    else:
        pets = Pet.all()

    results = [pet.serialize() for pet in pets]
    return make_response(jsonify(results), status.HTTP_200_OK)
Exemplo n.º 10
0
    def get(self):
        """ Returns all of the Pets """
        app.logger.info('Request to list Pets...')
        pets = []
        category = request.args.get('category')
        name = request.args.get('name')
        available = request.args.get('available')
        if category:
            pets = Pet.find_by_category(category)
        elif name:
            pets = Pet.find_by_name(name)
        elif available:
            pets = Pet.find_by_availability(available)
        else:
            pets = Pet.all()

        app.logger.info('[%s] Pets returned', len(pets))
        results = [pet.serialize() for pet in pets]
        return results, status.HTTP_200_OK
Exemplo n.º 11
0
def list_pets():
    """ Returns all of the Pets """
    app.logger.info('Request to list Pets...')
    pets = []
    category = request.args.get('category')
    name = request.args.get('name')
    if category:
        app.logger.info('Find by category')
        pets = Pet.find_by_category(category)
    elif name:
        app.logger.info('Find by name')
        pets = Pet.find_by_name(name)
    else:
        app.logger.info('Find all')
        pets = Pet.all()

    app.logger.info('[%s] Pets returned', len(pets))
    results = [pet.serialize() for pet in pets]
    return make_response(jsonify(results), status.HTTP_200_OK)
Exemplo n.º 12
0
    def get(self):
        """ Returns all of the Pets """
        app.logger.info('Request to list Pets...')
        pets = []
        args = pet_args.parse_args()
        if args['category']:
            app.logger.info('Filtering by category: %s', args['category'])
            pets = Pet.find_by_category(args['category'])
        elif args['name']:
            app.logger.info('Filtering by name: %s', args['name'])
            pets = Pet.find_by_name(args['name'])
        elif args['available'] is not None:
            app.logger.info('Filtering by availability: %s', args['available'])
            pets = Pet.find_by_availability(args['available'])
        else:
            pets = Pet.all()

        app.logger.info('[%s] Pets returned', len(pets))
        results = [pet.serialize() for pet in pets]
        return results, status.HTTP_200_OK
Exemplo n.º 13
0
    def get(self):
        """ Returns all of the Pets """
        app.logger.info('Request to list Pets...')
        pets = []
        category = request.args.get('category')
        name = request.args.get('name')
        available = request.args.get('available')
        if category:
            app.logger.info('Filtering by category: %s', category)
            pets = Pet.find_by_category(category)
        elif name:
            app.logger.info('Filtering by name:%s', name)
            pets = Pet.find_by_name(name)
        elif available:
            app.logger.info('Filtering by available: %s', available)
            is_available = available.lower() in ['yes', 'y', 'true', 't', '1']
            pets = Pet.find_by_availability(is_available)
        else:
            pets = Pet.all()

        app.logger.info('[%s] Pets returned', len(pets))
        results = [pet.serialize() for pet in pets]
        return results, status.HTTP_200_OK