def update(): metro_base = db.base('10.236.23.91','metro_data') metro_base.init_connection() while not update_queue.empty(): element = update_queue.get() mcc_art = element['mcc art'] mgb_art = element['mgb art'] price = element['price'] date = element['update'] metro_unit = element['metro unit'] stock = element['stock'] if metro_base.check_doc_exists('current_snapshot',mcc_art) == True: metro_base.update_doc_field('current_snapshot',mcc_art,[{'price':price},{'update':date},{'stock':stock}]) #metro_base.update_doc_field('current_snapshot',mcc_art,'update',date) else: metro_base.add_doc('current_snapshot',element) if metro_base.check_doc_exists('price_history',mcc_art) == True: metro_base.update_doc_field('price_history',mcc_art,[{date:price}]) else: metro_base.add_doc('price_history',{'id':mcc_art,date:price}) metro_base.close_connection()
import sys sys.path.append('/home/raven/git/data_front/app/utils/') import db db_host = '10.236.23.91' mcc_base = db.base(db_host,'metro_data') from datetime import datetime from datetime import timedelta def time_delta(dt): stamp = datetime.strptime(dt, "%d%m%Y") delta = datetime.now() - stamp return(delta.seconds) def get_price_history(city,time_delta,mcc_art): response = {} city_dict = {'moscow':[10,11,12,13,19,18,14,17,48,49,67,61,73,307,308,356]} tmp_dict = {} mcc_base.init_connection() data = mcc_base.get_doc('price_history',mcc_art) mcc_base.close_connection() for date,price_data in data.iteritems(): if date != 'id': tmp_dict[datetime.strptime(date, "%d%m%Y")] = price_data store_id = city_dict['moscow'] for date,price_data in tmp_dict.iteritems(): for element in store_id: