def execute(self, fb, request): # global variables keyword = '' keyword_highlight = '' my_dst = 8 pic_dict = {} ''' logic of with friend search ''' uid_commenter = request.get('friend_uid') if uid_commenter: pass else: return uid_owner = fb.uid timeUtil = TimeUtil() begin_time = timeUtil.timeBeforeNow(604800) fql = ''' select post_id, fromid, time, text from comment where fromid = '%(uid_commenter)s' and post_id in ( select concat('%(uid_owner)s', '_', status_id) from status where uid = '%(uid_owner)s' and time > %(begin_time)d ) ''' %{ 'uid_commenter': uid_commenter, 'uid_owner': uid_owner, 'begin_time': begin_time, } logging.info(fql) stringUtil = StringUtil() search_result = [] result_set = fb.fql.query(fql) for result in result_set: feed_url = 'http://www.facebook.com/profile.php?id=%s&v=feed&story_fbid=%s' % (fb.uid, result['post_id']) message = stringUtil.replace_insensitive(result['text'], keyword, keyword_highlight) post_time = timeUtil.timezonetime(result['time'], timedelta(hours=my_dst)) r = {} r['post_date'] = post_time r['avatar_url'] = '' r['message_url'] = feed_url r['message_text'] = message search_result.append(r) search_result.sort(cmp=compareByPostDateDesc) return search_result
def onProcess(self): self.list_request(self.request) #self.showFriendSelector() # global variables fb = self.fb keyword = '' keyword_highlight = '' my_dst = 8 pic_dict = {} ''' logic of with friend search ''' uid_commenter = self.request.get('friend_uid') if uid_commenter: pass else: return uid_owner = fb.uid timeUtil = TimeUtil() begin_time = timeUtil.timeBeforeNow(604800) fql = ''' select post_id, fromid, time, text from comment where fromid = '%(uid_commenter)s' and post_id in ( select concat('%(uid_owner)s', '_', status_id) from status where uid = '%(uid_owner)s' and time > %(begin_time)d ) ''' %{ 'uid_commenter': uid_commenter, 'uid_owner': uid_owner, 'begin_time': begin_time, } logging.info(fql) stringUtil = StringUtil() search_result = [] result_set = fb.fql.query(fql) self.out('result found %d' % len(result_set)) for result in result_set: feed_url = 'http://www.facebook.com/profile.php?id=%s&v=feed&story_fbid=%s' % (fb.uid, result['post_id']) message = stringUtil.replace_insensitive(result['text'], keyword, keyword_highlight) post_time = timeUtil.timezonetime(result['time'], timedelta(hours=my_dst)) r = {} r['post_date'] = post_time r['avatar_url'] = '' r['message_url'] = feed_url r['message_text'] = message search_result.append(r) search_result.sort(cmp=compareByPostDateDesc) avatar_url = "http://static.ak.fbcdn.net/pics/q_silhouette.gif" avatar_uid = uid_commenter if pic_dict.has_key(avatar_uid): avatar_url = pic_dict[avatar_uid] else: avatar_url = "http://static.ak.fbcdn.net/pics/q_silhouette.gif" withFriendView = StatusResultView() self.out( withFriendView.render_search_result('With-Friend', search_result, avatar_url) )