예제 #1
0
파일: db_setup.py 프로젝트: tadam93/sudsdb
def insert_style(style_list) :
	for style in style_list :

		# query for beers and make the relationship
		beer_inventory = db.session.query(Beer).filter(Beer.scrape_style_id == style.get("id")).all()

		if style.get("name") is not None:
			string_name = unicodedata.normalize('NFKD', style.get("name")).encode('ascii', 'ignore')
		else :
			for item in beer_inventory :
				db.session.query(Beer).filter(Beer.beer_id == item.beer_id).delete()
			db.session.commit()
			continue

		if style.get("description") is not None :
			string_desc = unicodedata.normalize('NFKD', style.get("description")).encode('ascii','ignore')
		else :
			for item in beer_inventory :
				db.session.query(Beer).filter(Beer.beer_id == item.beer_id).delete()
			db.session.commit()
			continue

		if style.get("ibuMin") is None or style.get("ibuMax") is None or style.get("abvMin") is None or style.get("abvMax") is None :
			for item in beer_inventory :
				db.session.query(Beer).filter(Beer.beer_id == item.beer_id).delete()
			db.session.commit()
			continue

		# add the data and commit
		s = Style(name=string_name, description=string_desc, ibu_min=style.get("ibuMin"), ibu_max=style.get("ibuMax"), abv_min=style.get("abvMin"), abv_max=style.get("abvMax"))

		s.beers = beer_inventory

		db.session.add(s)
		db.session.commit()

		if style.get("name") is not None:
			logger.info("style: " + style.get("name") + " populated")

	db.session.commit()
예제 #2
0
파일: tests.py 프로젝트: tadam93/sudsdb
    def test_relationship_2(self) :
        app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:'
        db.drop_all()
        db.create_all()

        coors_light = Beer(name='Coors Light', description="Taste's like urine.",
            is_organic="N", abv=11.1, ibu=30)
        blue_moon = Beer(name='Blue Moon', description="Pretty good.",
            is_organic="N", abv=6.3, ibu=50)
        light_lager = Style(name="Light Hail Lager")

        self.assertEqual(light_lager.beers, [])
        light_lager.beers = [coors_light, blue_moon]
        db.session.add(blue_moon)
        db.session.add(coors_light)
        db.session.add(light_lager)

        self.assertEqual(light_lager.beers[0], coors_light)
        self.assertEqual(light_lager.beers[1], blue_moon)
        self.assertEqual(light_lager.style_id, blue_moon.style_id)

        db.session.commit()