def get_events(): events = session.query(Event).order_by(Event.id.desc()).limit(100).all() results = [] for e in events: event = { 'user': u_ctrl.get_user_as_dictionary(e.user_id), 'action': e.action, 'view_type': e.view_type, 'time_stamp': e.time_stamp, 'data': None #just a default } if e.view_type == 'product': event['data'] = p_ctrl.get_product_as_dictionary(e.data_id) event['comments'] = p_ctrl.get_notes(e.user_id, e.data_id) if e.view_type in ['article', 'blog']: try: site_info_Q = s_ctrl.query_by_id_and_type(e.data_id, e.view_type).one() site_info = {} for column in site_info_Q.__table__.columns: site_info[column.name] = getattr(site_info_Q, column.name) event['data'] = site_info except: None event['comments'] = s_ctrl.get_comments(e.user_id, e.view_type, e.data_id) results.append(event) return {'events':results}
def get_events(): events = session.query(Event).order_by(Event.id.desc()).limit(100).all() results = [] for e in events: event = { 'user': u_ctrl.get_user_as_dictionary(e.user_id), 'action': e.action, 'view_type': e.view_type, 'time_stamp': e.time_stamp, 'data': None #just a default } if e.view_type == 'product': event['data'] = p_ctrl.get_product_as_dictionary(e.data_id) event['comments'] = p_ctrl.get_notes(e.user_id, e.data_id) if e.view_type in ['article', 'blog']: try: site_info_Q = s_ctrl.query_by_id_and_type( e.data_id, e.view_type).one() site_info = {} for column in site_info_Q.__table__.columns: site_info[column.name] = getattr(site_info_Q, column.name) event['data'] = site_info except: None event['comments'] = s_ctrl.get_comments(e.user_id, e.view_type, e.data_id) results.append(event) return {'events': results}
def get_recommendation_by_user_id(user_id): recommendations = session.query(Recommendation).filter(Recommendation.user_id == user_id).all() results = [] for r in recommendations: results.append( p_ctrl.get_product_as_dictionary(r.product_id) ) return results
def get_personal_recs(user_id): #filter by to user id recs = session.query(Personal_Rec).filter(Personal_Rec.to_user_id == user_id).all() results = [] for r in recs: rec = {'id': r.id} #replace from_user_id with full user object rec['product'] = p_ctrl.get_product_as_dictionary(r.product_id) #replace product_id with full product rec['from_user'] = u_ctrl.get_user_as_dictionary(r.from_user_id) results.append(rec) return results
def add_personal_rec(from_user_id, to_user_id, p): product_id = p_ctrl.verify_product_by_name_and_brand(p['product_name'], p['brand_name']) if not product_id: p_ctrl.add_product_to_products(p['product_name'], p['brand_name'], p.get('category','')) #check that rec doesn't already exists if session.query(Personal_Rec).filter(Personal_Rec.from_user_id == from_user_id, Personal_Rec.to_user_id == to_user_id, Personal_Rec.product_id == product_id).count() > 0: return None #add recomendation rec_id = session.add(Personal_Rec(from_user_id, to_user_id, product_id)) session.commit() #response info rec = {'id': rec_id} rec['product'] = p_ctrl.get_product_as_dictionary(product_id) rec['to_user'] = u_ctrl.get_user_as_dictionary(to_user_id) return rec