Пример #1
0
	def download(self, url):
		login = {'host': '127.0.0.1',
			'user': '******',
			'db': 'yummly_database'}
		db = MysqlWrapper(login)		
		recipe_id = url.split('/')[-1]
		if len(db.read_query("SELECT page_id FROM recipes WHERE page_id = %s", (recipe_id,))) > 0:
			return None
		else:
			url = 'http://www.yummly.com' +  url + "?unitType=imperial&servings=8"
			print url
			try:            
				r = requests.get(url)
				return r.text
			except:
				return None
Пример #2
0
	def save(self):
		login = {'host': '127.0.0.1',
			'user': '******',
			'db': 'yummly_database'}
		db = MysqlWrapper(login)

		try:
			source_id = db.read_query("SELECT id FROM source WHERE UID = %s", (self.recipe.get('source_UID'),))
			if len(source_id) == 0:
				db.write_query("INSERT INTO source (name, UID) VALUES (%s, %s)", (self.recipe.get('source_name'), self.recipe.get('source_UID')))
				source_id = db.read_query("SELECT id FROM source WHERE UID = %s", (self.recipe.get('source_UID'),))
		except:
			print 'cannot write source'
			source_id = None
			
		try:		
			user_id = db.read_query("SELECT id FROM users WHERE username = %s", (self.recipe.get('username'),))	
			if len(user_id) == 0:
				db.write_query("INSERT INTO users (username, nickname) VALUES (%s, %s)", (self.recipe.get('username'), self.recipe.get('nickname')))
				user_id = db.read_query("SELECT id FROM users WHERE username = %s", (self.recipe.get('username'),))
		except:
			print 'cannot write user'
			user_id = None

		
		try: 		
			recipe_id = db.read_query("SELECT id FROM recipes WHERE page_id = %s", (self.recipe.get('recipe_id'),))
			if len(recipe_id) == 0:
				db.write_query("INSERT INTO recipes (page_id, name, image, source_id, user_id, yums, total_time, rating, calories, calories_from_fat) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", (self.recipe.get('recipe_id'), self.recipe.get('recipe_name'), self.recipe.get('image'), source_id, user_id, self.recipe.get('yums'), self.recipe.get('total_time'), self.recipe.get('rating'), self.recipe.get('calories'), self.recipe.get('calories_from_fat')))
				recipe_id = db.read_query("SELECT id FROM recipes WHERE page_id = %s", (self.recipe.get('recipe_id'),))

				try:	
					ingredients = self.recipe.get('ingredients')
					for ingredient in ingredients:
						ingredient_id = db.read_query("SELECT id FROM ingredients WHERE ingredient = %s", (ingredient[2],))
						if len(ingredient_id) == 0:
							db.write_query("INSERT INTO ingredients (ingredient) VALUES (%s)", (ingredient[2],))
							ingredient_id = db.read_query("SELECT id FROM ingredients WHERE ingredient = %s", (ingredient[2],))
						db.write_query("INSERT INTO recipe_ingredients (recipe_id, ingredient_id, amount, unit) VALUES (%s, %s, %s, %s)", (recipe_id, ingredient_id, ingredient[0], ingredient[1]))
				except:
					print 'cannot write ingredient'
					pass

				try:
					tags = self.recipe.get('tags')
					for tag in tags:
						db.write_query("INSERT INTO recipe_tags (recipe_id, tag) VALUES (%s, %s)", (recipe_id, tag))
				except:
					print 'cannot write tag'
					pass

				try:
					reviews = self.recipe.get('reviews')
					for review in reviews:
						user_id = db.read_query("SELECT id FROM users WHERE username = %s", (review[1],))
						if len(user_id) == 0:
							db.write_query("INSERT INTO users (username, nickname) VALUES (%s, %s)", (review[1], review[0]))
							user_id = db.read_query("SELECT id FROM users WHERE username = %s", (review[1],))
						db.write_query("INSERT INTO reviews (recipe_id, user_id, rating, content) VALUES (%s, %s, %s, %s)", (recipe_id, user_id, review[2], review[3]))
				except:
					print 'cannot write review'
					pass

				
				try:
					db.write_query("UPDATE recipes SET total_fat = %s, total_fat_dv = %s WHERE id = %s", (self.recipe.get('nutrients')[0][1], self.recipe.get('nutrients')[0][2], recipe_id))
					db.write_query("UPDATE recipes SET sat_fat = %s, sat_fat_dv = %s WHERE id = %s", (self.recipe.get('nutrients')[1][1], self.recipe.get('nutrients')[1][2], recipe_id))
					db.write_query("UPDATE recipes SET trans_fat = %s, trans_fat_dv = %s WHERE id = %s", (self.recipe.get('nutrients')[2][1], self.recipe.get('nutrients')[2][2], recipe_id))
					db.write_query("UPDATE recipes SET cholesterol = %s, cholesterol_dv = %s WHERE id = %s", (self.recipe.get('nutrients')[3][1], self.recipe.get('nutrients')[3][2], recipe_id))
					db.write_query("UPDATE recipes SET sodium = %s, sodium_dv = %s WHERE id = %s", (self.recipe.get('nutrients')[4][1], self.recipe.get('nutrients')[4][2], recipe_id))
					db.write_query("UPDATE recipes SET potassium = %s, potassium_dv = %s WHERE id = %s", (self.recipe.get('nutrients')[5][1], self.recipe.get('nutrients')[5][2], recipe_id))
					db.write_query("UPDATE recipes SET carb = %s, carb_dv = %s WHERE id = %s", (self.recipe.get('nutrients')[6][1], self.recipe.get('nutrients')[6][2], recipe_id))
					db.write_query("UPDATE recipes SET fiber = %s, fiber_dv = %s WHERE id = %s", (self.recipe.get('nutrients')[7][1], self.recipe.get('nutrients')[7][2], recipe_id))
					db.write_query("UPDATE recipes SET sugar = %s, sugar_dv = %s WHERE id = %s", (self.recipe.get('nutrients')[8][1], self.recipe.get('nutrients')[8][2], recipe_id))
					db.write_query("UPDATE recipes SET protein = %s, protein_dv = %s WHERE id = %s", (self.recipe.get('nutrients')[9][1], self.recipe.get('nutrients')[9][2], recipe_id))
					db.write_query("UPDATE recipes SET VA_dv = %s, VC_dv = %s WHERE id = %s", (self.recipe.get('nutrients')[10][2], self.recipe.get('nutrients')[11][2], recipe_id))
					db.write_query("UPDATE recipes SET calcium_dv = %s, iron_dv = %s WHERE id = %s", (self.recipe.get('nutrients')[12][2], self.recipe.get('nutrients')[13][2], recipe_id))
					db.write_query("UPDATE recipes SET salty = %s, savory = %s, sour = %s, bitter = %s , sweet = %s, spicy = %s  WHERE id = %s", (self.recipe.get('tastes')[0], self.recipe.get('tastes')[1], self.recipe.get('tastes')[2], self.recipe.get('tastes')[3], self.recipe.get('tastes')[4], self.recipe.get('tastes')[5], recipe_id))
				except:
					print 'cannot write calorie content'
					pass
					
		except:
			print 'cannot write recipe'
			print self.recipe.data
			pass
Пример #3
0
				WHERE ingredient = %s
				AND unit IS NULL
				"""
				feature_id = db.read_query(sql, (ingredient,))
		
		sql = """
		INSERT INTO input (recipe_id, feature_id, amount)
		VALUES (%s, %s, %s)
		"""
		db.write_query(sql, (recipe_id, feature_id, row[4]))	


login = {'host': '127.0.0.1',
        'user': '******',
        'db': 'yummly_database'}
db = MysqlWrapper(login)

sql = """
SELECT MAX(recipe_id_old)
FROM output
"""
result = db.read_query(sql, "")

sql = """
SELECT
    recipes1.recipe_id1,
    recipes1.recipe_name1,
    ingredients.id,
    ingredients.ingredient,
    recipes1.ingredient_amount1,
    recipes1.ingredient_unit1,