Esempio n. 1
0
    def to_json(self):
        serialize_me = []
        
        cur_playing_pli = None
        
        scores = self._get_scores()
        
        for i in self.queue:
            t = i[0]
            pli = i[1]
            u = i[2]
            
            if pli.id not in scores: scores[pli.id] = 0
            
            dic = common.strip_private(t.__dict__)
        
            dic["currently_playing"] = (pli.id == self.currently_playing_pli_id)
            dic["score"] = scores[pli.id]
            dic["playlist_item_id"] = pli.id
            dic["time_sort"] = time.mktime(pli.date_added.timetuple())
            dic["special"] = pli.special
            
            dic["first_name"] = u.first_name
            if User.is_admin():
                dic["last_name"] = u.last_name
            else:
                dic["last_name"] = u.last_name[0]
            dic["photo_url"] = u.photo_url
            dic["facebook_id"] = u.facebook_id
            
            #this let's us skip an entire sort later on
            if dic["currently_playing"]:
                cur_playing_pli = dic
            else:            
                serialize_me.append(dic)
        
        serialize_me.sort(key=itemgetter("time_sort"))
        serialize_me.sort(key=itemgetter("score"), reverse=True)
        serialize_me.sort(key=itemgetter("special"), reverse=True)
        
        if cur_playing_pli:
            serialize_me.insert(0, cur_playing_pli)

        return json.dumps(serialize_me)
Esempio n. 2
0
 def to_json(self):
     return json.dumps(common.strip_private(self.__dict__))