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)
def to_json(self): return json.dumps(common.strip_private(self.__dict__))