Пример #1
0
 def get(self,key):
     uri = self.request.uri
     request = {}
     
     from models.pinLike import PinLike
     pinLike = PinLike()
     query = {}
     query['q']         = "user:%s" % key    
     query['start']  = "0"
     query['rows']   = globalSetting['max_index_pin_rows']
     query['sort']   = "createTime"
     
     pin_keys = pinLike.getByKeyValues("user",key)        
     pin_count = len(pin_keys)        
     
     if "page" in uri:
         request = urldecode(uri)
         page = int(request['page'])
         query['start']  = query['rows']*page
         if pin_count < query['rows']*page:
             return ''
     
     pin_data = pinLike.solr(query)
     marks_dict = pinLike.formatPins(pin_data)    
     
     if request:
         #print request
         callback_result = {
                         'filter':'pin:index',
                         'pins':marks_dict
                         }
         
         callback_response = "%s(%s)" % (request['callback'],json.dumps(callback_result))
         self.set_header("Content-Type", "text/html; charset=utf-8")            
         return self.write(callback_response)
     else:
         board = Board()
         user = User()
         marks = ''
         for _mark_t in marks_dict:
             marks = self.render_string('mark.html',mark=_mark_t)+marks
         u_user = user.getInfo(key)
         userFollow = UserFollow()
         counts = {}
         counts['follow'] = len(userFollow.getByKeyValues("user", key))
         
         counts['fans'] = len(userFollow.getByKeyValues("follow", key)) 
         self.render('user_likes.html',counts= counts,u_user=u_user,user=self.currentUserInfo(),board = board.get(key),marks=marks)