def setUp(self): self.vet_1 = Vet("John", "Smith") self.owner_1 = Owner("Cpt.", "Jack", "Harkness", "07411000000", True) self.animal_1 = Animal("Tigger", datetime.date(2019, 5, 1), "Tiger", self.owner_1) self.animal_2 = Animal("Roger", datetime.date(2018, 7, 2), "Rabbit", self.owner_1, self.vet_1)
def add_animal(): animal_data = dict(request.form.items()) Animal.create( type_animal=animal_data.get('type_animal'), commercial_prep=animal_data.get('commercial_prep'), homemade_prep=animal_data.get('homemade_prep'), ) result = {'status': 'success'} return jsonify(result)
def detail(action, id): animal = animal_repository.select_id(id) len_treatments = len(treatment_repository.select_all_by_animal_id(id)) if request.method == 'GET': if action == "show": return render_template("animals/show.html.j2", animal=animal, len_treatments=len_treatments) elif action == "edit": active_vets = vet_repository.select_all_active() return render_template("animals/edit.html.j2", animal=animal, active_vets=active_vets) elif action == "treatments": treatments = treatment_repository.select_all_by_animal_id(id) return render_template("animals/detail.html.j2", animal=animal, len_treatments=len_treatments, treatments=treatments) else: message = "Malformed URL" return redirect(url_for("animals.index", message=message)) if request.method == 'POST': if action == "delete": animal_repository.delete_id(request.form['id']) message = f"Animal: {animal.name} (id:{animal.id}) deleted" return redirect(url_for("animals.index", message=message)) elif action == "edit": name = request.form['name'] dob = request.form['dob'] species = request.form['species'] owner_id = request.form['owner_id'] vet_id = request.form['vet_id'] try: deactivated = request.form['deactivated'] except: deactivated = False id = request.form['id'] vet = vet_repository.select_id(vet_id) owner = owner_repository.select_id(owner_id) animal = Animal(name, dob, species, owner, vet, deactivated, id) animal_repository.update(animal) message = f"Animal: {animal.name} (id:{animal.id}) updated" return redirect(url_for("animals.index", message=message)) elif action == "deactivate": animal = animal_repository.select_id(id) animal.owner = owner_repository.select_id(1) animal.deactivated = True animal_repository.update(animal) message = f"{animal.name} moved to No Owner, please reassign" # I want an if statment to make thsi work too: return redirect(url_for("owners.index", message=message)) return redirect(url_for("animals.index", message=message)) else: message = "Malformed URL" return redirect(url_for("animals.index", message=message))
def root(): my_animal = Animal("Fire fox", "Female", 23) my_animal.say_my_name() bootsyCallaco = Cat("Bootsy Callaco", "male", 12, "yellow", "BIG") scoobyDoo = Dog("Scooby Doo", "male", 50, "German Shepherd", "browny") bootsyCallaco.make_sound() scoobyDoo.make_sound() bootsyCallaco.say_my_name() scoobyDoo.say_my_name()
def post(self): data = request.get_json() animal = Animal(name=data.get('name'), species=data.get('species'), gender=data.get('gender'), birthdate=data.get('birthdate'), date_aquired=data.get('date_aquired'), location=data.get('location'), keeper=data.get('keeper'), avatar_url=data.get('avatar_url')) animal.save() return animal.data, HTTPStatus.CREATED
def setUp(self): test_vet_peter = Vet("Peter", False) test_vet_mark = Vet("Mark", False) test_vet_paul = Vet("Paul", False) test_owner_david = Owner("David", "Edinburgh", False) test_owner_carl = Owner("Carl", "liverpool", False) test_owner_jamie = Owner("Jamie", "Glasgow", False) test_owner_sarah = Owner("Sarah", "London", False) self.test_animal_pepper = Animal("Pepper", "10/11/2015", "Horse", test_owner_david, test_vet_paul, False) self.test_animal_luna = Animal("Mika", "01/03/2012", "Cat", test_owner_david, test_vet_mark, False) self.test_animal_buddy = Animal("Buddy", "19/01/2014", "Rabbit", test_owner_carl, test_vet_peter, False) self.test_animal_snowy = Animal("Snowy", "17/02/2015", "Dog", test_owner_carl, test_vet_peter, False) self.test_animal_lola = Animal("Lola", "04/08/2018", "Cow", test_owner_jamie, test_vet_peter, False) self.test_animal_apollo = Animal("Apollo", "22/03/2016", "Dog", test_owner_jamie, test_vet_paul, False) self.test_animal_buster = Animal("Buster", "29/04/2019", "Dog", test_owner_sarah, test_vet_paul, False) self.test_animal_izzy = Animal("Izzy", "30/05/2020", "Cat", test_owner_sarah, test_vet_mark, False)
def put(self, animal_id): data = request.get_json() animal = Animal.get_by_id(animal_id) if animal is None: return {'message': 'animal not found'}, HTTPStatus.NOT_FOUND animal.name = data.get( 'name') if 'name' in data.keys() else animal.name animal.species = data.get( 'species') if 'species' in data.keys() else animal.species animal.gender = data.get( 'gender') if 'gender' in data.keys() else animal.gender animal.birthdate = data.get( 'birthdate') if 'birthdate' in data.keys() else animal.birthdate animal.date_aquired = data.get( 'date_aquired') if 'date_aquired' in data.keys( ) else animal.date_aquired animal.location = data.get( 'location') if 'location' in data.keys() else animal.location animal.keeper = data.get( 'keeper') if 'keeper' in data.keys() else animal.keeper animal.avatar_url = data.get( 'avatar_url') if 'avatar_url' in data.keys() else animal.avatar_url animal.save() return animal.data, HTTPStatus.OK
def delete(self, animal_id): animal = Animal.get_by_id(animal_id) if animal is None: return {'message': 'animal not found'}, HTTPStatus.NOT_FOUND animal.delete() return {}, HTTPStatus.NO_CONTENT
def new(): active_vets = vet_repository.select_all_active() if request.method == 'GET': return render_template("animals/new.html.j2", active_vets=active_vets) if request.method == 'POST': name = request.form['name'] dob = request.form['dob'] species = request.form['species'] owner = owner_repository.select_id(1) vet_id = request.form['vet_id'] deactivated = False vet = vet_repository.select_id(vet_id) animal = Animal(name, dob, species, owner, vet, deactivated) saved_animal = animal_repository.save(animal) if saved_animal.id != None: message = f"Success {saved_animal.name} added" else: message = "Failure" if request.form['action'] == "finish": return redirect(url_for("animals.index", message=message)) elif request.form['action'] == "continue": return render_template("animals/new.html.j2", message=message, active_vets=active_vets) else: # POST Error 405 Method Not Allowed print("POST Error 405 Method Not Allowed")
def setUp(self): self.dh = DateHelper() self.vet = Vet("Mark", "Bridges", 3) self.address = Address("9", "Big Road", "Vatican City", "PO1 1PE") self.owner = Owner("Kevin", "Stevens", self.address, "015825536874", "*****@*****.**") self.animal = Animal( "Fluff", self.dh.make_date("2018-01-04"), "Dog", "Greyhound", self.owner, self.vet, self.dh.make_datetime("2020-08-09 13:52:01"), ) self.now = self.dh.make_datetime("2020-08-10 12:20:52")
def get_animals_by_location(location_id): with sqlite3.connect("./kennel.db") as conn: conn.row_factory = sqlite3.Row db_cursor = conn.cursor() # Write the SQL query to get the information you want db_cursor.execute( """ select a.id, a.name, a.breed, a.status, a.customer_id, a.location_id FROM Animal a WHERE a.location_id = ? """, (location_id, )) animals = [] dataset = db_cursor.fetchall() for row in dataset: animal = Animal(row['id'], row['name'], row['breed'], row['status'], row['customer_id'], row['location_id']) animals.append(animal.__dict__) return json.dumps(animals)
def get_single_animal(id): with sqlite3.connect("./kennel.db") as conn: conn.row_factory = sqlite3.Row db_cursor = conn.cursor() # Use a ? parameter to inject a variable's value # into the SQL statement. db_cursor.execute( """ SELECT a.id, a.name, a.breed, a.status, a.customer_id, a.location_id FROM Animal a WHERE a.id = ? """, (id, )) # Load the single result into memory data = db_cursor.fetchone() # Create an animal instance from the current row animal = Animal(data['id'], data['name'], data['breed'], data['status'], data['customer_id'], data['location_id']) return json.dumps(animal.__dict__)
def create(): name = request.form['name'] animal_type = request.form['animal_type'] owner_id = request.form['owner_id'] owner = owner_repository.select(owner_id) new_animal = Animal(name, animal_type, owner) animal_repository.save(new_animal) return redirect("/animals")
def select(id): sql = 'SELECT * FROM animals WHERE id = %s' values = [id] result = run_sql(sql, values)[0] animal = Animal(result['name'], result['dob'], result['type'], result['owner_id'], result['vet_id'], result['id'], result['treatment_notes']) return animal
def update_animal(id): name = request.form['name'] species = request.form['species'] owner_id = request.form['owner_id'] owner = owner_repository.select(owner_id) animal = Animal(name, species, owner, id) animal_repository.update(animal) return redirect('/animals')
def list_animals(): animals = Animal.select() results = [] for animal in animals: results.append({ 'type_animal': animal.type_animal, }) return jsonify(results)
def animal_feed(type_animal="cow"): animal = (Animal.select().where(Animal.type_animal == type_animal).get()) result = { 'type_animal': animal.type_animal, 'commercial_prep': animal.commercial_prep, 'homemade_prep': animal.homemade_prep } return jsonify(result)
def create_animal(): name = request.form['name'] species = request.form['species'] owner_id = request.form['owner_id'] owner = owner_repository.select(owner_id) new_animal = Animal(name, species, owner) animal_repository.save(new_animal) return redirect('/animals')
def select(id): animal = None sql = 'SELECT * FROM animals WHERE id = %s' values = [id] result = run_sql(sql, values)[0] if result is not None: owner = owner_repository.select(result['owner_id']) animal = Animal(result['name'], result['species'], owner, result['id']) return animal
def create_animal(): print(request.form) name = request.form["name"] dob = request.form["dob"] animal_type = request.form["animal_type"] notes = request.form["notes"] customer = customer_repository.select(request.form["customer_id"]) animal = Animal(name, dob, animal_type, notes, customer) animal_repository.save(animal) return redirect("/animals")
def edit_animal(id): name = request.form["name"] dob = request.form["dob"] animal_type = request.form["animal_type"] treatment_notes = request.form["notes"] owner = owner_repository.select_owner(request.form["owner_id"]) vet = vet_repository.select_vet(request.form["vet_id"]) new_animal = Animal(name, dob, animal_type, owner, treatment_notes, vet, id) animal_repository.update_animal(new_animal) return redirect('/animals/'+id+'/more')
def update_animal(id): name = request.form["name"] date_of_birth = request.form["date_of_birth"] animal_type = request.form["animal_type"] treatment_notes = request.form["treatment_notes"] owner = request.form["owner_id"] animal = Animal(name, date_of_birth, animal_type, treatment_notes, owner, id) animal_repository.update(animal) return redirect("/animals")
def select_all(): animals = [] sql = 'SELECT * FROM animals' results = run_sql(sql) for row in results: owner = owner_repository.select(row['owner_id']) animal = Animal(row['name'], row['species'], owner, row['id']) animals.append(animal) return animals
def select_all(): animals = [] sql = "SELECT * FROM animals" results = run_sql(sql) for row in results: owner = owner_repository.select(row['owner_id']) vet = vet_repository.select(row['vet_id']) animal = Animal(row['name'], row['type'], row['dob'], owner, vet, row['id']) animals.append(animal) return animals
def select(id): animal = None sql = "SELECT * FROM animals WHERE id = %s" values = [id] result = run_sql(sql, values)[0] if result is not None: owner = owner_repository.select(result['owner_id']) vet = vet_repository.select(result['vet_id']) animal = Animal(result['name'], result['type'], result['dob'], owner, vet, result['id']) return animal
def create_animal(): name = request.form["name"] date_of_birth = request.form["date_of_birth"] animal_type = request.form["animal_type"] treatment_notes = request.form["treatment_notes"] owner = owner_repository.select(request.form["owner_id"]) new_animal = Animal(name, date_of_birth, animal_type, treatment_notes, owner) animal_repository.save(new_animal) return redirect("/animals")
def select_all_animals(): results = run_sql("SELECT * FROM animals WHERE archived=%s", ["FALSE"]) animals = [] for result in results: owner = owner_repository.select_owner(result["owner_id"]) vet = vet_repository.select_vet(result["vet_id"]) animal = Animal(result["name"], result["date_of_birth"], result["animal_type"], owner, result["treatment_notes"], vet, result["id"]) animals.append(animal) return animals
def select_all(): animals = [] sql = "SELECT * FROM animals" results = run_sql(sql) for result in results: owner = owner_repository.select(result["owner_id"]) animal = Animal(result["name"], result["date_of_birth"], result["animal_type"], result["treatment_notes"], owner, result["id"]) animals.append(animal) return animals
def select_animal(id): sql = "SELECT * FROM animals WHERE id=%s" value = [id] result = run_sql(sql, value)[0] if result is not None: owner = owner_repository.select_owner(result["owner_id"]) vet = vet_repository.select_vet(result["vet_id"]) animal = Animal(result["name"], result["date_of_birth"], result["animal_type"], owner, result["treatment_notes"], vet, result["id"]) return animal
def select(id): sql = "SELECT * FROM animals WHERE id = %s" values = [id] result = run_sql(sql, values)[0] owner = owner_repository.select(result["owner_id"]) if result is not None: animal = Animal(result["name"], result["date_of_birth"], result["animal_type"], result["treatment_notes"], owner, result["id"]) return animal