def newPuppy(shelter): """Add new puppy to the shelter""" if request.method == 'POST': if request.form['name'] and request.form['sex']: name = request.form['name'] sex = request.form['sex'] dateOfBirth = datetime.strptime(request.form['dob'], "%Y-%m-%d") picture = request.form['picture'] newPuppy = Puppy(name=name, sex=sex, dateOfBirth=dateOfBirth, picture=picture, shelter_id=shelter.id) session.add(newPuppy) session.commit() flash("%s is now looking for a forever home." % name) return redirect(url_for('listPuppy', shelter_id=shelter.id)) else: if not request.form['name']: flash("Please name the puppy \ so we'll know who's been a good dog.") if not request.form['sex']: flash("Not trying to assume their gender, \ but the sex of the puppy would really help.") return render_template("puppy-new.html", shelter=shelter) else: return render_template("puppy-new.html", shelter=shelter)
def item_new(list_type): if request.method == 'GET': puppies = session.query(Puppy).all() shelters = session.query(Shelter).all() owners = session.query(Owner).all() if list_type =='puppies': template = 'puppies_add.html' form = puppyForm() form.shelter.choices = [ (g.id, g.name) for g in session.query(Shelter).all() ] elif list_type =='shelters': template = 'shelters_add.html' form = shelterForm() elif list_type == 'owners': template = 'owners_add.html' form = ownerForm() else: template = 'error404.html' form = puppyForm() list_type = 'puppies' return render_template( template, list_type=list_type, puppies = puppies, shelters = shelters, owners = owners, form = form) #handles POST elif request.method == 'POST': if list_type == 'puppies': form = puppyForm(request.form) form.shelter.choices = [ (g.id, g.name) for g in session.query(Shelter).all() ] if form.validate(): thisshelter = session.query(Shelter).filter(Shelter.id==form.shelter.data).first() newItem = Puppy(name=form.name.data, dateOfBirth=form.dateOfBirth.data, gender=form.gender.data, weight=form.weight.data, picture=form.picture.data, shelter_id=thisshelter.id ) else: for fieldName, errorMessages in form.errors.iteritems(): for err in errorMessages: flash('Error in '+fieldName+' field. '+err) return redirect(url_for('item_new', list_type = list_type)) elif list_type =='shelters': form = shelterForm(request.form) if form.validate(): newItem = Shelter(name=form.name.data, address=form.address.data, city = form.city.data, state = form.state.data, zipCode = form.zipCode.data, website = form.website.data) else: for fieldName, errorMessages in form.errors.iteritems(): for err in errorMessages: flash('Error in '+fieldName+' field. '+err) return redirect(url_for('item_new', list_type = list_type)) elif list_type == 'owners': form = ownerForm(request.form) if form.validate(): newItem = Owner(name=form.name.data, surname=form.surname.data, gender =form.gender.data, age = form.age.data) else: for fieldName, errorMessages in form.errors.iteritems(): for err in errorMessages: flash('Error in '+fieldName+' field. '+err) return redirect(url_for('item_new', list_type = list_type)) session.add(newItem) session.commit() #app.logger.info('Added %s %s to the database.', list_type, form.name.data) flash("Succesfully added "+form.name.data+"!") return redirect(url_for('list_view', list_type=list_type))
def addNewPuppy(shelter_id): shelter = session.query(Shelter).filter_by(id=shelter_id).one() if request.method == 'POST': newPuppy = Puppy(name=request.form['name'], weight=float(request.form['weight']), age=int(request.form['age']), breed=request.form['breed'], gender=request.form['gender'], shelter=shelter) session.add(newPuppy) session.commit() return redirect(url_for('allPuppies', shelter_id=shelter.id)) return render_template('addpuppy.html', shelter=shelter)
def CreateRandomAge(): today = datetime.date.today() days_old = randint(0, 540) birthday = today - datetime.timedelta(days=days_old) return birthday #This method will create a random weight between 1.0-40.0 pounds (or whatever unit of measure you prefer) def CreateRandomWeight(): return random.uniform(1.0, 40.0) for i, x in enumerate(male_names): new_puppy = Puppy(name=x, gender="male", dateOfBirth=CreateRandomAge(), picture=random.choice(puppy_images), shelter_id=randint(1, 5), weight=CreateRandomWeight()) session.add(new_puppy) session.commit() for i, x in enumerate(female_names): new_puppy = Puppy(name=x, gender="female", dateOfBirth=CreateRandomAge(), picture=random.choice(puppy_images), shelter_id=randint(1, 5), weight=CreateRandomWeight()) session.add(new_puppy) session.commit()
#This method will make a random age for each puppy between 0-18 months(approx.) old from the day the algorithm was run. def CreateRandomAge(): today = datetime.date.today() days_old = randint(0, 540) birthday = today - datetime.timedelta(days=days_old) return birthday #This method will create a random weight between 1.0-40.0 pounds (or whatever unit of measure you prefer) def CreateRandomWeight(): return random.uniform(1.0, 40.0) for i, x in enumerate(male_names): new_puppy = Puppy(name=x, gender="male", dateOfBirth=CreateRandomAge(), shelter_id=randint(1, 5), weight=CreateRandomWeight()) session.add(new_puppy) session.commit() for i, x in enumerate(female_names): new_puppy = Puppy(name=x, gender="female", dateOfBirth=CreateRandomAge(), shelter_id=randint(1, 5), weight=CreateRandomWeight()) session.add(new_puppy) session.commit()
"http://pixabay.com/get/7dcd78e779f8110ca876/1433170979/dog-710013_1280.jpg?direct", "http://pixabay.com/get/31d494632fa1c64a7225/1433171005/dog-668940_1280.jpg?direct" ] def CreateRandomAge(): """Create random age between 0-18 months""" today = datetime.date.today() days_old = randint(0, 540) birthday = today - datetime.timedelta(days=days_old) return birthday for i, x in enumerate(male_names): new_puppy = Puppy(name=x, sex="male", dateOfBirth=CreateRandomAge(), picture=random.choice(puppy_images), shelter_id=randint(1, 5)) session.add(new_puppy) session.commit() for i, x in enumerate(female_names): new_puppy = Puppy(name=x, sex="female", dateOfBirth=CreateRandomAge(), picture=random.choice(puppy_images), shelter_id=randint(1, 5)) session.add(new_puppy) session.commit()
print "All shelters are full. A new one needs to be opened." return shelter_id = input("Enter another shelter ID number to try: ") shelter = db_session.query(Shelter).filter_by(id=shelter_id).one() if shelter.current_occupancy == shelter.max_capacity: print "That shelter is also full!" full_shelters.append(shelter_id) continue else: found_free_shelter = True puppy.shelter_id = shelter_id shelter.current_occupancy += 1 db_session.add(puppy) db_session.add(shelter) db_session.commit() if __name__ == "__main__": # Setup the connection to the database engine = create_engine("sqlite:///puppyshelter.db") Base.metadata.bind = engine DBSession = sessionmaker(bind=engine) session = DBSession() # Create a new puppy and check it into a shelter given by the user. new_puppy = Puppy(name="Fred", gender="male") req_shelter_id = input("Enter a shelter ID to check the puppy into: ") check_in_puppy(session, new_puppy, req_shelter_id)
today = datetime.date.today() days_old = randint(0, 540) birthday = today - datetime.timedelta(days=days_old) return birthday def create_random_weight(): """ :return: create a random weight between 1.0-40.0 pounds (or whatever unit of measure you prefer) """ return round(random.uniform(1.0, 40.0), 2) for name in male_names: new_puppy = Puppy(name=name, gender="male", dob=create_random_age(), shelter_id=randint(1, 5), weight=create_random_weight()) session.add(new_puppy) session.commit() for name in female_names: new_puppy = Puppy(name=name, gender="female", dob=create_random_age(), shelter_id=randint(1, 5), weight=create_random_weight()) session.add(new_puppy) session.commit()
Base.metadata.bind = engine DBSession = sessionmaker(bind=engine) session = DBSession() try: session.query(Shelter).delete() session.query(Puppy).delete() session.commit() except: session.rollback() shelter1 = Shelter(name="Rajat Patwa puppy shelter", address="Street no. 7, House no. 8 ANewGalaxy, Mars.", phone="a cool phone number", email="a cool email address", owner="Rajat Patwa") session.add(shelter1) session.commit() puppy1 = Puppy(name="Tommy", weight=5.35, age=2, breed='German Shepherd', gender='Male', shelter=shelter1) session.add(puppy1) session.commit()