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
This commit is contained in:
@@ -2,14 +2,16 @@
|
||||
import json
|
||||
import logging
|
||||
import functools
|
||||
import redis
|
||||
import datetime
|
||||
|
||||
from django.http import JsonResponse
|
||||
from django.conf import settings
|
||||
|
||||
import redis
|
||||
from pygments import highlight
|
||||
from pygments.lexers import JsonLexer # pylint: disable=no-name-in-module
|
||||
from pygments.formatters import TerminalTrueColorFormatter # pylint: disable=no-name-in-module
|
||||
|
||||
from utils.ratelimit import ratelimit
|
||||
|
||||
_log = logging.getLogger('utils')
|
||||
@@ -94,3 +96,32 @@ def get_redis_connection():
|
||||
port = settings.DATA_CACHE.get('port')
|
||||
db = settings.DATA_CACHE.get('db')
|
||||
return redis.Redis(host=host, port=port, db=db, decode_responses=True)
|
||||
|
||||
|
||||
def parse_date(date, default=datetime.datetime(1, 1, 1)):
|
||||
"""Intenta parsear una fecha la cual le pueden faltar partes
|
||||
|
||||
Esta pensado para parsear fechas entregadas por musicbrainz, el cual puede entrar fechas con
|
||||
año, con año y mes, o, con año, mes y dia
|
||||
|
||||
Si es que no puede lograrlo retornara el default definido
|
||||
"""
|
||||
try:
|
||||
parsed = datetime.datetime.strptime(date, "%Y")
|
||||
return parsed
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
try:
|
||||
parsed = datetime.datetime.strptime(date, "%Y-%m")
|
||||
return parsed
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
try:
|
||||
parsed = datetime.datetime.strptime(date, "%Y-%m-%d")
|
||||
return parsed
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
return default
|
||||
|
||||
Reference in New Issue
Block a user