def load_users(): """Load users from u.user into database.""" print("Users") # Delete all rows in table, so if we need to run this a second time, # we won't be trying to add duplicate users Log.query.delete() Dog.query.delete() User.query.delete() user1 = User( fname="Vaishali", lname="Cooner", email="*****@*****.**", password= "******", apt=1) user2 = User(fname="Heather", lname="Mahan", email="*****@*****.**", password=123, apt=1) # We need to add to the session or it won't ever be stored db.session.add_all([user1, user2]) print("dogs") dog1 = Dog(dogname="Fluffy", age=3, breed="Havanese", gender="female", size="small", pic="1abc.jpg", user=user1) dog2 = Dog(dogname="Boris", age=2, breed="Minpin", gender="male", size="small", pic="2def.jpg", user=user2) # We need to add to the session or it won't ever be smovies (movie_id, title, released_at, imdb_url) VALUES (%(movie_id)s, %(title)s, %(released_at)s, %(imdb_url)s)'] [parameters: ({'movie_id': '1', 'title': None, 'released_at': datetime.datetime(1995, 1, 1, 0, 0), 'imdb_url': None}, {'movie_id': '2', 'title': None, 'released_at': datetime.datetime(1995, 1, 1, 0, 0), 'imdb_url': None}, {'movie_id': '3', 'title': None, 'released_at': datetime.datetime(1995, 1, 1, 0, 0), 'imdb_url': None}, {'movie_id': '4', 'title': None, 'released_at': datetime.datetime(1995, 1, 1, 0, 0), 'imdb_url': None}, {'movie_id': '5', 'title': None, 'released_at': datetime.datetime(1995, 1, 1, 0, 0), 'imdb_url': None}, {'movie_id': '6', 'title': None, 'released_at': datetime.datetime(1995, 1, 1, 0, 0), 'imdb_url': None}, {'movie_id': '7', 'title': None, 'released_at': datetime.datetime(1995, 1, 1, 0, 0), 'imdb_url': None}, {'movie_id': '8', 'title': None, 'released_at': datetime.datetime(1995, 1, 1, 0, 0), 'imdb_url': None} ... displaying 10 of 1681 total bound parameter sets ... {'movie_id': '1681', 'title': None, 'released_at': datetime.datetime(1994, 1, 1, 0, 0), 'imdb_url': None}, {'movie_id': '1682tored db.session.add_all([dog1, dog2]) print("logs") log1 = Log(checkin='2018-10-09 2:40:10 PM', checkout='2018-10-09 2:30:10 PM', dog=dog1) log2 = Log(checkin='2018-10-09 2:42:20 PM', checkout='2018-10-09 2:58:10 PM', dog=dog2) # We need to add to the session or it won't ever be stored db.session.add_all([log1, log2]) # Once we're done, we should commit our work db.session.commit()
def load_dogs(): Dog.query.delete() for row in open("seed_data/dogs.txt"): row = row.strip() dog_name, kennel_id, breed, gender, altered, age, intake_date, dog_pic = row.split( "|") if intake_date: intake_date = datetime.datetime.strptime(intake_date, "%d-%b-%Y") else: intake_date = None dog = Dog(dog_name=dog_name, kennel_id=kennel_id, breed=breed, gender=gender, altered=altered, age=age, intake_date=intake_date, dog_pic=dog_pic) db.session.add(dog) db.session.commit()
def create_dog(owner_email, dog_name, dog_bio, dog_img): dog = Dog(owner_email=owner_email, dog_name=dog_name, dog_bio=dog_bio, dog_img=dog_img) db.session.add(dog) db.session.commit() return dog
def map_to_model(cls, db_model): return Dog(name=db_model.name, link=db_model.link, image=db_model.image, age=db_model.age, weight=db_model.weight, gender=db_model.gender, breed=db_model.breed)
def add_Product(name, price, picture_link, description): Dog_object = Dog( name=name, price=price, picture_link=picture_link, description=description) session.add(Dog_object) session.commit()
def add_to_favorite(): """Adds dog to favorites.""" user_id = session["user_id"] petfinder_id = request.form.get("petfinder_id") shelter_id = request.form.get("shelter") adopted_status = request.form.get("status") img_url = request.form.get("url") breed = request.form.get("breed") age = request.form.get("age") name = request.form.get("name") ##TODO check that user is logged in dog_exists_in_db = Dog.query.get(petfinder_id) if dog_exists_in_db is None: new_dog = Dog(petfinder_id=petfinder_id, shelter_id=shelter_id, adopted_status=adopted_status, img_url=img_url, age=age, breed=breed, name=name) db.session.add(new_dog) db.session.commit() fave_exists_in_db = Favorite.query.filter_by(petfinder_id=petfinder_id, user_id=user_id).first() if fave_exists_in_db is None: fave_dog = Favorite(petfinder_id=petfinder_id, user_id=user_id) db.session.add(fave_dog) db.session.commit() response = {'status': "success", 'id': petfinder_id} else: remove_fave_dog = Favorite.query.filter_by( user_id=user_id, petfinder_id=petfinder_id).one() db.session.delete(remove_fave_dog) db.session.commit() response = {'status': "successfully removed", 'id': petfinder_id} return jsonify(response)
def add_dog(): status = False name = request.args.get('name') sex = request.args.get('sex') availability = request.args.get('availability') description = request.args.get('description') if availability == "Available": status = True new_dog = Dog(name=name, sex=sex, status=status, description=description) db.session.add(new_dog) db.session.commit() return redirect("admin-home.html")
class TestScraper(unittest.TestCase): domino = Dog( **{ 'name': 'Domino', 'link': 'https://www.sfspca.org/adoptions/pet-details/39286176', 'image': 'https://www.sfspca.org/sites/default/files/styles/sf_animal_thumb_3col/public/images/animals/39286176-4cf10d31.jpg?itok=V9MiUXS1', 'age': '2Y 0M', 'weight': '57lbs. 5oz.', 'gender': 'Male', 'breed': 'Border Collie', }) @vcr.use_cassette('test/fixtures/spca.yaml', record_mode='new_episodes') def test_scrape_spca(self): base_url = 'https://www.sfspca.org' url = base_url + "/adoptions/dogs" dogs = scraper.scrape_spca(url, base_url) self.assertEqual(self.domino.name, dogs[0].name)
def scrape_spca(url, base_url): r = requests.get(url) soup = BeautifulSoup(r.text, 'html.parser') rows = soup.find_all("div", class_="views-row") dogs = [] for row in rows: for child in row.children: if not child.name: continue if not child.find("a"): continue name = child.find("h2").string link = base_url + child.find("a").get("href") image = child.find("img").get("src") dog = Dog(name, link, image) resp = requests.get(dog.link) inner_soup = BeautifulSoup(resp.text, 'html.parser') age_div = inner_soup.find("div", "field-name-field-animal-age") if not age_div: continue dog.age = age_div.find("div", "field-item").string.strip() weight_div = inner_soup.find("div", "field-name-field-animal-weight") if not weight_div: continue dog.weight = weight_div.find("div", "field-item").string.strip() gender_div = inner_soup.find("div", "field-name-field-gender") if not gender_div: continue dog.gender = gender_div.find("div", "field-item").string.strip() breed_div = inner_soup.find( "div", "field-name-field-possible-primary-breed") if not breed_div: continue dog.breed = breed_div.find("div", "field-item").string.strip() DogService.save_dog(dog) dogs.append(dog) return dogs
class TestDogService(TestCase): dog_model = Dog( **{ 'name': 'Domino', 'link': 'https://www.sfspca.org/adoptions/pet-details/39286176', 'image': 'https://www.sfspca.org/sites/default/files/styles/sf_animal_thumb_3col/public/images/animals/39286176-4cf10d31.jpg?itok=V9MiUXS1', 'age': '2Y 0M', 'weight': '57lbs. 5oz.', 'gender': 'Male', 'breed': 'Border Collie', }) @patch('repository.dog.DogRepository.save') @patch('repository.dog.DogRepository.get_by_name_and_breed') def test_save_dog_when_dog_doesnt_exist(self, mock_get_by_name_and_breed, mock_save): mock_get_by_name_and_breed.return_value = None DogService.save_dog(self.dog_model) mock_get_by_name_and_breed.assert_called_once_with( self.dog_model.name, self.dog_model.breed) mock_save.assert_called_once_with(self.dog_model) @patch('repository.dog.DogRepository.save') @patch('repository.dog.DogRepository.get_by_name_and_breed') def test_save_dog_when_dog_exists(self, mock_get_by_name_and_breed, mock_save): mock_get_by_name_and_breed.return_value = True DogService.save_dog(self.dog_model) mock_get_by_name_and_breed.assert_called_once_with( self.dog_model.name, self.dog_model.breed) mock_save.assert_not_called()
def get_baddog_details(name): dog = Dog() dog.setName(name) dog.setChasesCats(True) return json.dumps(dog.__dict__)
def add_dog(): dog_name = request.form.get('dog_name') breed = request.form.get('breed') age = request.form.get('age') gender = request.form.get('gender') altered = request.form.get('altered') intake_date = request.form.get('intake_date') verify_values = [dog_name, breed, age, gender, altered, intake_date] #if form is left empty, flash error message for vals in verify_values: if vals == "" or None: flash('Please Complete Missing Information', 'error') return redirect('/thebarn') #checking if the dog already exists in the barn dog_exists = Dog.query.filter_by(dog_name=dog_name).first() #if the dog name already exists if dog_exists is not None: flash('Dog Name is Taken, Please Choose Another', 'error') return redirect("/thebarn") #checking if post request has image file part named 'new_dog_pic' if 'new_dog_pic' not in request.files: flash('Please Upload a Photo', 'error') return redirect('/thebarn') file = request.files['new_dog_pic'] print type(file) if file.filename == '': flash('Please Upload a Photo', 'error') return redirect('/thebarn') #breaks the file name up to be renamed with dog's name and img type added at end file_arrary = file.filename.split(".") file.filename = dog_name + "." + file_arrary[-1] print file.filename # if user does not select file, browser also # submit a empty part without filename if file and allowed_file(file.filename): filename = secure_filename(file.filename) file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) new_dog_pic = file.filename #creates a new kennel for the new dog new_kennel = Kennel(dog_door=True, size='Small', indoor=True) db.session.add(new_kennel) db.session.commit() new_kennel = Kennel.query.order_by(Kennel.kennel_id.desc()).first() new_dog = Dog(dog_name=dog_name, breed=breed, age=int(age), gender=gender, kennel_id=new_kennel.kennel_id, altered=altered, intake_date=intake_date, dog_pic=new_dog_pic) db.session.add(new_dog) db.session.commit() flash("You've added " + dog_name + " to the barn!") return redirect("/thebarn")
def showAll(): #gets list of all Dog objects dog_in_db = Dog.getAllDogs() #calls view return view.showAllDogView(dog_in_db)