def load_quotes(product_entry, product_data): """Load quotes to database from API request payload""" newprice = product_data['data']['NEW'] #acess new products' price history newtime = product_data['data'][ 'NEW_time'] #access new products' timestamps if (newprice == []): newprice = product_data['data']['AMAZON'] newtime = product_data['data']['AMAZON_time'] if (math.isnan(newprice[0])): newprice = product_data['data']['AMAZON'] newtime = product_data['data']['AMAZON_time'] #loop over entries for i in range(len(newprice)): current_time = newtime[i] current_price = newprice[i] quote_entry = Quote(date_time=current_time, price=current_price) product_entry.quotes.append(quote_entry) db.session.add(product_entry) db.session.commit()
def get_unique_quote(quote): ''' Searches Temporary table for quote duplicates and returns the valid, unique quote, which is the one with the MAX rown number. ''' search_substring = quote.text[:duplicate_search_substring_threshold] search_substring = clean_quote_text(search_substring) sql = f""" WITH temp AS ( SELECT *, row_number() over (order by QuoteId) RowNumber FROM Temporary WHERE Text LIKE \"%{search_substring}%\" ) SELECT * FROM temp WHERE RowNumber = (SELECT max(RowNumber) FROM temp) """ result = db.query(sql) if result: result_tuple = result[0] return Quote(text=result_tuple[1], date=result_tuple[2], page=result_tuple[3], location=result_tuple[4], book_id=result_tuple[5], author_id=result_tuple[6]) return quote
def load_quotes(): """Load quote information into database.""" data_file = open('seed_data/quotes_2.csv', 'rU') csv_file = csv.reader(data_file) for row in csv_file: content = row[0] img_url = row[1] author = row[2] sentiment_id = row[3] quote = Quote(content=content, img_url=img_url, author=author, sentiment_id=sentiment_id) # Adding data to the session db.session.add(quote) # Commiting data to database db.session.commit()
def add_quote(quote_value, hashtag, media, link,): quote = Quote(quote=quote_value, hashtag = hashtag, media=media, link= link) session.add(quote) session.commit()