IIC2233 / syllabus-2021-1

Repositorio oficial del curso IIC2233 Programación Avanzada 🚀✨
https://iic2233.github.io
38 stars 49 forks source link

Caracteres permitidos para nombres de usuarios a registrar #65

Closed jojopalma closed 3 years ago

jojopalma commented 3 years ago

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

Duda

Estimados: Me surge la duda respecto a los caracteres permitidos "dentro" de el nombre del usuario al momento de registrarlo, en el pdf se menciona que no se permiten las comas "," pero ¿Se pueden ingresar caracteres como signos de interrogación, espacios `exclamación!, underscore_, hypen-,"·%$/().:;`, etc; o deben ser solo caracteres alfanumericos?

Juampisaez commented 3 years ago

Hola @juan-palma-1 Tal como dices, solo debes preocuparte de los requisitos puestos en el enunciado, esto quiere decir que se debe verificar que el "nombre del usuario no esté actualmente siendo utilizado por otro usuario, que tenga un largo entre 3 y 15 caracteres (ambos extremos incluidos) y no incluya comas (",")" (lo mismo que aparece en el enunciado). Entonces, respondiendo a tu pregunta, si se pueden ocupar esos caracteres que nombras (solo fijate que respeten las condiciones ya mencionadas).

Espero haya quedado mas claro, quedo atento :)

Pakarati commented 3 years ago

Hola! siguiendo con el tema, puedo añadir una restricción en el readme para el registro usuarios que sea que no pueden contener caracteres especiales como tildes y ñ? Es que al registrar un usuario con caracteres especiales y entablar un conversación, después de cerrar el chat no puedo volver a abrir el archivo mensajes.csv :(

Juampisaez commented 3 years ago

Hola @Pakarati Para ese caso particular, no puedes hacer eso ya que en el enunciado dice las restricciones que deben tener los usuarios al momento de registrar (si no lo dijera, quedaria a tu criterio, pero no es el caso). Ahora, no se cual es error que te retorna al no poder abrir tu archivo mensajes.csv (deduzco que son cosas aparte).

Quedo atento :)

Pakarati commented 3 years ago

Ya, hice un ejemplo: Cree un usuario con caracteres especiales, luego agrego un contacto y abro el chat con el nuevo contacto (sin mensajes). Al enviar un mensaje me da un error al tratar de imprimir el nuevo historial de mensajes. Lo mismo pasa si el mensaje contiene caracteres especiales :( Revisé el archivo mensajes.csv y me aparece el mensaje registrado, pero con los caracteres especiales Error Mensaje en archivo

Juampisaez commented 3 years ago

El problema puede estar en como estas abriendo los archivos, probablemente no estas abriendo el archivo con encoding="utf-8". Puede ser ese el problema, te recomiendo ocupar los archivos de la repo del curso para ocupar nuevamente esos archivos.

Pakarati commented 3 years ago

Si agregué encoding="utf-8" al open de mensajes.csv. El archivo se abre bien normalmente, pero cuando se guarda una línea de un mensaje con un carácter especial o usuario con carácter especial en el archivo, deja de abrirse:( Busqué en internet y no entendí mucho la verdad, ¿se supone que las tildes y ñ ya están en utf-8? porque de ser así ¿por qué no me deja abrirlo luego de guardarlos? ¿Hay alguna forma de guardar los caracteres especiales en el formato que está en el excel de mensajes.csv?

Juampisaez commented 3 years ago

Mm, en principio deberia solucionarse leyendo el archivo de mensajes de esta forma. Si no te funciona, prueba sacando el enconding tanto al abrirlo como al escribir en el. Avisame si funciona.

Pakarati commented 3 years ago

No funcionaba, así que dejé el encoding=utf-8 solo al escribir en el archivo, pero se cambiaron todos los caracteres especiales a utf-8, eso no se puede? Ej:

Qué tal? Me gustó el hotel que reservé

ahora está en el archivo como:

Qué tal? Me gustó el hotel que reservé

Juampisaez commented 3 years ago

Mm, acabo de ver que estas haciendo un readlines, la forma que te recomendaria hacerla es abrir el archivo. Luego iterar sobre ese archivo linea por linea, y ver como se esta abriendo y guardando. Pruebalo tanto haciendo el encoding con utf-8, como sin hacerlo. Si eso no funciona, no se me ocurre como podria ayudarte a no ser que me digas el nombre del archivo, las lineas donde tienes el error, y asi podria meterme a tu repo y ver el problema. Quedo atento :)

Pakarati commented 3 years ago

Ya me funcionó! Creo que el problema era el encoding al escribir el archivo :) Muchas gracias!