Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Cortes b503f5be66 Api list igual incluye de que usuario es la lista 2020-07-14 21:18:28 -04:00
Daniel Cortes c0ee9f06a2 Creacion de admin panel para lists 2020-07-14 15:03:47 -04:00
Daniel Cortes ce76f76dfb Stars y Opinion se incluyeron en ListItem
Esto porque al final eran relaciones 1 a 1 y era preferible que
estuvieran incluidos en un solo modelo, de esta forma hay menos llamadas
a la base de datos desde la api y una api mas simple de realizar y
llamar

Realmente el unico modelo que quedo "extraño" es el de opinion helpfull
que tendra que pasar a ser ... listitemhelpful? pero el nombre
opinionhelpful es mas coherente
2020-07-14 10:31:32 -04:00
Daniel Cortes 1a36bec50a Reordenadas las funciones de vistas de lista 2020-07-14 08:16:45 -04:00
Daniel Cortes 3df7d89aef recording includes artist y los hosts de cors igual se consideran
seguros en login
2020-07-13 00:21:42 -04:00
Daniel Cortes b78efcdc96 Tags no son necesarias al agregar una entidad a la lista 2020-07-12 16:13:58 -04:00
Daniel Cortes d0c5c705a0 Issue #17: Obtener usuario sin id 2020-07-04 03:58:53 -04:00
Daniel Cortes 08f7e234b0 Faltaba documentar _delete_tag() 2020-07-04 02:46:01 -04:00
Daniel Cortes 15ce254088 Issue #16 Se crea la entidad en caso que no exista al agregarla a una lista 2020-07-04 01:57:07 -04:00
Daniel Cortes bea3eac644 Issue #14 Api de tags 2020-07-04 01:28:02 -04:00
Daniel Cortes f3a43de9ef Issue #9 y #13 API basica de lista 2020-07-04 00:39:36 -04:00
Daniel Cortes 76a65371ce Corregida Issue #11 2020-06-28 17:27:35 -04:00
Daniel Cortes a1a46990c2 100% coverage en user api_views 2020-06-28 17:16:42 -04:00
Daniel Cortes 5183d5a65d API modificacion de usuario 2020-06-28 16:23:00 -04:00
Daniel Cortes a01d124324 Agregado metodo para cambiar las redes sociales 2020-06-28 08:02:11 -04:00
Daniel Cortes b06d66abe5 Base view que redirige dependiendo del metodo requerido 2020-06-27 15:28:31 -04:00
Daniel Cortes b37c44accd Issue #3 Api para obtener datos de usuario 2020-06-27 15:07:13 -04:00
Daniel Cortes 7e566ebeea Issue #6 Se crea un social_networks al crear un usuario 2020-06-27 14:58:55 -04:00
Daniel Cortes ee72e39ae1 Rutas de error 2020-06-27 13:36:49 -04:00
Daniel Cortes c4fe6660a3 Removiendo djangorestframework de pip 2020-06-27 12:56:50 -04:00
Daniel Cortes 6efb103a1a Quitando dependencia con rest_framework 2020-06-27 12:54:15 -04:00
Daniel Cortes 31bc2df354 Issue #4 Es objects, no object 2020-06-27 11:34:48 -04:00
Daniel Cortes ea75dfb1b7 Solucionado #2 2020-06-23 19:40:50 -04:00
Daniel Cortes f592ed082d No existen coverarts de releases 2020-06-17 16:36:07 -04:00
Daniel Cortes c01cb8e57d error en cache, no se validaba si existia el conteo de recordings 2020-06-16 23:09:41 -04:00
Daniel Cortes 8f6cf8e691 Agregados paises extras y la traduccion de paises en release 2020-06-16 00:46:37 -04:00
Daniel Cortes b1a786f806 Reiniciar workers con script en server 2020-06-15 23:42:45 -04:00
Daniel Cortes 1ccfc4d007 Fix no estaba mapeando la media cuando venia del cache 2020-06-14 20:22:21 -04:00
Daniel Cortes f5411ae25d fix redis.zrange es inclusivo 2020-06-14 20:03:07 -04:00
Daniel Cortes 4beb7c07d4 Merge branch 'testing' 2020-06-14 19:59:45 -04:00
Daniel Cortes 3ca3a5b9f5 Fix cuando coverart tiene error 404 2020-06-14 19:59:11 -04:00
Daniel Cortes dc8d701fce Revisados los mapeos de entidades 2020-06-14 19:36:27 -04:00
Daniel Cortes 703795ed6b Merge branch 'testing' 2020-06-14 04:09:00 -04:00
Daniel Cortes a17d024393 Ultimos tests de cache 2020-06-14 04:08:18 -04:00
Daniel Cortes 71fe9523a9 Tests de get_artist_of_recording 2020-06-14 04:04:16 -04:00
Daniel Cortes 907cfe92d5 Testeados get_releases_of_recordings 2020-06-14 03:59:00 -04:00
Daniel Cortes 823149bf5b Testeo de get_recordings of release 2020-06-14 03:32:44 -04:00
Daniel Cortes fb70b829a3 Tests para get_recording 2020-06-14 01:48:23 -04:00
Daniel Cortes a4f3a5c87f Test para get_artist_of_release 2020-06-14 01:44:02 -04:00
Daniel Cortes e3c3209433 Mas tests <3 2020-06-13 01:56:56 -04:00
Daniel Cortes 45147618c1 htmlcov a gitignore 2020-06-13 01:31:14 -04:00
Daniel Cortes a7984779f7 Testeando el codigo! 2020-06-13 01:18:09 -04:00
Daniel Cortes b806b1163c Los docs estaban demasiado desactualizados 2020-06-12 17:23:27 -04:00
Daniel Cortes 97f4b86870 cambios minimos en search 2020-06-12 06:57:48 -04:00
Daniel Cortes 788a4e3397 Cache para los cover arts
Aparte hice un metodo que cambia http a https dentro de map_coverart,
porque por alguna razon cover art archive retorna sus imagenes con http
y los navegdores se quejan por esto
2020-06-12 06:39:04 -04:00
Daniel Cortes 878c85ec78 Continua la separacion de cache 2020-06-12 06:23:16 -04:00
Daniel Cortes b8c79da9ca Extrayendo funcionalidad de cache en su propio modulo 2020-06-12 02:40:26 -04:00
Daniel Cortes bb27c57c98 Cache en covers 2020-06-12 01:09:22 -04:00
Daniel Cortes 8951541a7a Artists of recordings 2020-06-12 00:19:34 -04:00
Daniel Cortes df83c17c39 Agregado cache a release of recordings 2020-06-11 23:31:28 -04:00
Daniel Cortes a1a74de82d Arreglada recordings of release 2020-06-11 05:57:40 -04:00
Daniel Cortes 1aed9351ab Agregando logs a medium 2020-06-11 05:15:23 -04:00
Daniel Cortes 83c095e4ec Pasando a utilizar flake8, es mas rapido y confiable 2020-06-11 04:59:06 -04:00
Daniel Cortes 1d4c5f28ac Arreglada race condition de get_discs_of_artist
Ademas hice algo inteligente y agrege logs a la funcion, es mas facil
ver que carajo paso
2020-06-10 05:28:00 -04:00
Daniel Cortes 2a639f557f Agregada integracion a cache de recordings
Fue un leseo la parte de recordings_of_release, pero ya esta esa parte

Me faltan un par de recordings no mas :3
2020-06-10 04:06:04 -04:00
Daniel Cortes 65c77c679f Continuando con el almacenamiento de datos en cache
Va a mejor la cosa, tengo que hacer tests si o tambien porque no estoy
nada seguro si es que todo funciona como espero ya que toda llamada a la
api corresponde a una llamada a cache y descubrir si es que esta todo en
cache como se espera

Voy a terminar del modo que lo estoy haciendo y tal vez cambio esto a un
modulo de cache el cual se encargara de o obtener datos desde cache o
llamar a music brainz para suplir los datos que no puede responder
2020-06-10 00:02:45 -04:00
Daniel Cortes d62253051b agregado cache a get_artist_of_disc 2020-06-09 05:55:48 -04:00
Daniel Cortes d6060915de stash me da mas problemas de los que deberia asi que se va 2020-06-09 05:02:38 -04:00
Daniel Cortes b44c18770e get_artist_of_disc con cache 2020-06-09 04:49:39 -04:00
Daniel Cortes cabe607958 Volver a py-redis
Resulta que django-redis es muy bonito pero esta pensado para usarse
como el cache por default de django, remplazando a memcached y por eso
no permite casi ninguna de las funcionalidades que redis permite, como
usar listas y sets.
Djang-redis permite usar el cliente directamente pero el codigo se
estaba haciendo largo y creando mas problemas de los que necesito
Asi que voy a usar el cliente regular, asi me evito dramas
2020-06-09 04:08:08 -04:00
Daniel Cortes 72bcf94d11 Trabajando para aprovechar el cache el las relaciones 2020-06-09 01:55:12 -04:00
Daniel Cortes 2edca8e255 Se remplazo la conexion a cache de django a la nativa 2020-06-08 23:14:13 -04:00
Daniel Cortes 765e482958 removida dependencia no usada 2020-06-08 22:50:38 -04:00
Daniel Cortes 1e548be114 Reintentar request si es que el servidor responde con 503
Resulta que musicbrainz puede responde con 503 a pesar de ser buena
gente y mantener el ratelimit, esto puede ser por varias razones
documentadas en
https://musicbrainz.org/doc/XML_Web_Service/Rate_Limiting
2020-06-08 22:39:01 -04:00
Daniel Cortes 749aa50ee1 es workers no worker 2020-06-08 22:04:53 -04:00
Daniel Cortes 5450e6522e Es necesario reiniciar los workers en deploy 2020-06-08 21:59:25 -04:00
Daniel Cortes 06b2ff0c4b load_cover_art como job de alta prioridad
Ya que no tengo limite de request por segundo a coverart archive solo
hago mas lento el worker default con las request hacia alla sumando a
que tengo que esperar a que termine el resto

En un worker separado no tengo esas limitaciones
2020-06-08 21:00:44 -04:00
Daniel Cortes 4066a6c9e1 No estaba instalando los requirements de produccion 2020-06-08 19:37:40 -04:00
Daniel Cortes 2646438343 escribi -f en vez de -r 2020-06-08 19:30:10 -04:00
Daniel Cortes c076b11993 rm -r para eliminar carpetas ~~ 2020-06-08 19:25:18 -04:00
Daniel Cortes 392dba39ea Inclusion de un ratelimit usando cache
Necesitaba un ratelimit que estuviera disponible en todos los workers,
cosa que aparentemente la libreria que estaba usando no tomaba en cuenta

asi que la mejor idea que tuve es aprovechar el cache y usarlo para
generar el ratelimit :3 asi que como todos los workers se comunican con
el mismo cache, todos van a compartir el mismo lock
2020-06-08 19:14:51 -04:00
Daniel Cortes b71b6e824d json.load es differente a json.loads 2020-06-08 17:19:07 -04:00
Daniel Cortes ac58e29c75 Definidos jobs basicos y comunicacion con estos 2020-06-08 16:56:14 -04:00
Daniel Cortes 90c34dada3 Me equivoque en la key de release-group-count 2020-06-08 05:16:19 -04:00
Daniel Cortes 54d18f0d76 Agregando jobs para rellenar el cache de datos 2020-06-08 05:11:34 -04:00
Daniel Cortes fce2072f82 Tampoco era buena idea hacer querys en los mapeos 2020-06-08 04:19:05 -04:00
Daniel Cortes a3b4479579 Parallel map fue una mala idea~ 2020-06-08 04:07:07 -04:00
Daniel Cortes d46c2f61ca Removiendo uso de cache en musicbrainz
Esto esta en proceso, se va a mover el cache a medium, donde se puede
controlar lo que se esta haciendo, ya que se planea que musicbrainz.py
sea simplemente una capa de conexion
2020-06-08 03:56:59 -04:00
Daniel Cortes 0e2ac5a1e3 Implentada RQ_Queues en el proyecto 2020-06-08 03:49:12 -04:00
Daniel Cortes 0d2d23e2e1 Utilizando cache de django 2020-06-08 02:10:01 -04:00
Daniel Cortes 6498bf9c48 Chequeo user agents en _do_request 2020-06-08 01:48:02 -04:00
Daniel Cortes 67e5e8a7a2 Divisiones visuales en medium 2020-06-08 00:29:43 -04:00
Daniel Cortes c447416981 Precommit confirma que el lint esta gud 2020-06-07 23:44:17 -04:00
Daniel Cortes 8590668023 Me falto pylint django 2020-06-07 23:15:14 -04:00
Daniel Cortes 850b0e0a4a NO SE ESCRIBIR 2020-06-07 23:12:12 -04:00
Daniel Cortes edbdcb1296 Agregados requerimientos y separados por dev y prod 2020-06-07 23:10:00 -04:00
Daniel Cortes 0a6d9c3c8e Realmente no es necesario venv en el test 2020-06-07 23:05:15 -04:00
Daniel Cortes 5f16cd40e4 Se me olvido setear python y el enviroment 2020-06-07 23:04:54 -04:00
Daniel Cortes a6d3862900 Agregada stage de testeo a gitlab-ci 2020-06-07 23:01:39 -04:00
Daniel Cortes a4ec4d35cc Lint script 2020-06-07 22:59:12 -04:00
Daniel Cortes 0d2a4a518d Ahora si pylint es feliz con todos los modulos :3 2020-06-07 22:37:38 -04:00
Daniel Cortes 4f5ec17815 Creo que termine de hacer feliz a pylint 2020-06-07 22:31:15 -04:00
Daniel Cortes a0a5857a8b Sigo haciendo feliz a pylint 2020-06-07 22:29:38 -04:00
Daniel Cortes 40a5d37bb8 Modificando codigo para que pylint sea feliz 2020-06-07 20:52:22 -04:00
Daniel Cortes 6acf81b599 Cambios para satisfacer a pylint 2020-06-07 18:39:24 -04:00
Daniel Cortes 70b9c10229 Cambios para satisfacer a pylint 2020-06-07 18:37:29 -04:00
Daniel Cortes 5a5a96a365 Allow all hosts en dev 2020-06-07 00:34:52 -04:00
Daniel Cortes 4f3c4e0b95 Probando si el servidor puede con threads 2020-06-04 07:19:07 -04:00
Daniel Cortes 5f5abd178d Paralelizados los mapeos
Esto es para mucha mas rapida ejecucion <3
2020-06-04 07:06:29 -04:00
Daniel Cortes 8b90a876dc Coverart archive no tiene limite de requests! 2020-06-04 06:18:13 -04:00