Exemplo n.º 1
0
def view_user(user_id):
    friends = {}
    for one_id in friend.select(user_id):
        friend_dict = user.select(one_id)
        if 'name' in friend_dict:
            friends[one_id] = friend_dict
    return render_template('user.html',
        user=user.select(user_id),
        friend=friends
    )
Exemplo n.º 2
0
def search(key, value, lag, lng):
    business_list = business.sort_by({key: value}, [key], [u'='], u'*', u'*')
    # user_loc = (40.12889642298632,-88.22373041280238)
    user_loc = (float(lag), float(lng))
    RS = recommender(business_list, user_loc)
    business_list = RS.recommend()
    page, per_page, offset = get_page_args(page_parameter='page',
                                           per_page_parameter='per_page')
    per_page = 10
    pagination = Pagination(page=page,
                            per_page=per_page,
                            total=len(business_list),
                            search=False,
                            record_name='results')
    business_list = business_list[(page - 1) * per_page:page * per_page]

    category_list = []
    checkin_list = []
    review_list = []
    user_list = []
    for business_item in business_list:
        business_id = business_item[u'id']
        category_list.append(category.select(business_id))
        checkin_list.append(checkin.select(business_id))
        review_items = review.select(business_id, u'*')
        keys = list(review_items.keys())
        if len(keys) > 0:
            user_list.append(user.select(review_items[keys[0]][u'user_id']))
            s = review_items[keys[0]]['text']
            s2 = ' '.join(s.split(' ')[0:80]) + "..."
            review_list.append(s2)
        else:
            user_list.append({})
            review_list.append(review_items)

    num_checkin_list = []
    for c in checkin_list:
        num_checkin_list.append(sum(list(c.values())))

    # When the search result lists are generated.
    laglng_list = [[b['name'], b['latitude'], b['longitude']]
                   for b in business_list]
    result_list = list()
    for idx in range(0, len(business_list)):
        result = dict()
        result['category'] = ', '.join(list(category_list[idx].values()))
        result['business'] = business_list[idx]
        result['num_checkin'] = num_checkin_list[idx]
        result['review'] = review_list[idx]
        result['user'] = user_list[idx]
        result_list.append(result)

    return render_template(
        u'search.html',
        # business = business_list[0] if len(business_list) > 0 else None,
        result_list=result_list,
        laglng_list=laglng_list,
        page=page,
        per_page=per_page,
        pagination=pagination)
Exemplo n.º 3
0
 def insert(self, user_id, friend):
     from datamodel.user import user
     if len(user.select(user_id)) < 1:
         user.insert(user_id, {})
     for key in friend:
         self.query_sql = \
             u'INSERT INTO `friend`(`user_id`, `friend_id`) ' \
             + 'VALUES("%s", "%s")' % (user_id, key)
         super().execute()
Exemplo n.º 4
0
 def insert(self, user_id, elite_years):
     from datamodel.user import user
     if len(user.select(user_id)) < 1:
         user.insert(user_id, {})
     for key in elite_years:
         self.query_sql = \
             u'INSERT INTO `elite_years`(`user_id`, `year`) ' \
             + 'VALUES("%s", "%s")' % (user_id, key)
         super().execute()
Exemplo n.º 5
0
 def insert(self, business_id, user_id, tip):
     from datamodel.business import business
     if len(business.select(business_id)) < 1:
         business.insert(business_id, {})
     from datamodel.user import user
     if len(user.select(user_id)) < 1:
         user.insert(user_id, {})
     for key, val in tip.items():
         k = []
         v = []
         for attr in self.dm_attr:
             k.append(attr)
             v.append(self.quote_sql(val[attr]))
         self.query_sql = u'INSERT INTO `tip`(%s) ' % (u','.join(k)) \
             + 'VALUES(%s)' % (u','.join(v))
         super().execute()
Exemplo n.º 6
0
 def insert(self, business_id, user_id, review):
     from datamodel.business import business
     if len(business.select(business_id)) < 1:
         business.insert(business_id, {})
     from datamodel.user import user
     if len(user.select(user_id)) < 1:
         user.insert(user_id, {})
     for key, val in review.items():
         k = [u'id']
         v = [self.quote_sql(key)]
         for attr in self.dm_attr:
             if attr in val and attr != u'id':
                 k.append(attr)
                 v.append(self.quote_sql(val[attr]))
         self.query_sql = u'INSERT INTO `review`(%s) ' % (u','.join(k)) \
             + 'VALUES(%s)' % (u','.join(v))
         super().execute()
Exemplo n.º 7
0
def view_friend():
    url_for('static', filename='css/user.css')
    return render_template('friend.html',
        user=user.select("user_id not defined"),
    )