Exemple #1
0
def party(request, room_name):
    if room_name is None:
        return redirect("/p/rdio")

    connection = StrictRedis(connection_pool=redis_connection_pool)
    party = Party.get(connection, room_name)
    if not party:
        party = Party()
        party.id = room_name
        party.name = room_name
        party.save(connection)

    user = User.from_request(connection, request)
    party.add_user(connection, user)
    party.broadcast_user_list_state(connection)
    party.save(connection)

    context = {
        "room_name": room_name,
        "body_class": "party",
        "room_id": room_name,
        "initial_player_state_json": json.dumps(party.get_player_state_payload()),
        "initial_queue_state_json": json.dumps(party.get_queue_state_payload()),
        "initial_user_list_state_json": json.dumps(party.get_user_list_state_payload()),
        "initial_messages_state_json": json.dumps(party.get_messages_state_payload(connection)),
        "initial_theme_state_json": json.dumps(party.get_theme_state_payload()),
        "current_user": json.dumps(user.to_dict()),
    }
    make_room_daemon(room_name)
    return render(request, "party.html", context)
Exemple #2
0
 def create_a_party(self, party_id, name):
   party = Party()
   party.id = party_id
   party.name = name
   party.save(self.redis)
   return party