IIC2233 / syllabus-2019-1

Repositorio oficial del curso IIC2233 Programaci贸n Avanzada 馃帀 馃帄
43 stars 69 forks source link

defaultdict(list) #634

Closed conikuschel closed 5 years ago

conikuschel commented 5 years ago

Hola! no se porque al agregar valores a un defaultdict(list) me arroja el siguiente error: AttributeError: 'str' object has no attribute 'append' Lo he probado fuera del programa y funciona bien, pero cuando lo pruebo se cae, sub铆 el c贸digo a mi repo por cualquier cosa :(

lily416 commented 5 years ago

Hola 馃槂

Fijate que cuando haces:

self.salas[recibido[1]] = self.sockets[client_socket]

est谩s cambiando el la lista del defaultdict por el valor que tienes guardan en self.sockets[client_socket] (asumo que es la string con el nombre de usuario o algo parecido).

脕nimo y 茅xito con la tarea 馃憢 馃挭

conikuschel commented 5 years ago

Si, si te entiendo, pero el error sale en la funci贸n unirse_sala del server, cuando conecto al segundo cliente que va a la misma sala que el primero que conecte, la que pusiste deber铆a entrar solo cuando no existe la sala a la que entra :(

lily416 commented 5 years ago

Fijate que el self.salas[recibido[1]] = self.sockets[client_socket] lo llamas en la funci贸n manejar_comando antes de que llames la funci贸n crear_sala y en dicha funci贸n s贸lo se agrega el cliente a la sala si esta no existe, pero como la creas antes de llamar la funci贸n se salta ese if y no se levanta el error, entonces cuando un segundo cliente intenta ingresar a la sala hace append a una string y se levanta el error.

Ojal谩 quede claro, saludos.

conikuschel commented 5 years ago

Sii, muchas gracias!!