restful español python datetime flask flask-restful

python - español - flask>-< restful



¿Cuál es el formato de fecha y hora para el analizador frasco reparador? (1)

Un poco tarde, pero he estado en el mismo problema, tratando de analizar una fecha con RequestParser, y lamentablemente los documentos no son tan útiles para este escenario, así que después de ver y probar el código RequestParser y Argument, creo que encontré el problema :

Cuando usas type=datetime en el método add_argument , debajo del capó simplemente llama a datetime con el arg, así: datetime(arg) , entonces si tu param es una cadena como esta: 2016-07-12T23:13:3 , el error será an integer is required .

En mi caso, quería analizar una cadena con este formato %Y-%m-%dT%H:%M:%S en un objeto datetime, así que pensé usar algo como type=datetime.strptime pero como sabes este método necesita un parámetro de formato, así que finalmente utilicé esta solución alternativa:

parser.add_argument(''date'', type=lambda x: datetime.strptime(x,''%Y-%m-%dT%H:%M:%S''))

Como puede ver de esta manera, puede usar el formato de fecha y hora que desee. También puede usar functool partial lugar de lambda para obtener el mismo resultado o una función con nombre.

ACTUALIZAR

Esta solución alternativa es bastante válida ya que está en los documentos (me acabo de dar cuenta): http://flask-restful.readthedocs.io/en/latest/extending.html#inputs

Saludos.

Digamos que tengo el siguiente analizador dentro de mi método get:

from flask.ext.restful import reqparse parser = reqparse.RequestParser() parser.add_argument(''when'', type=datetime, help=''Input wasn/'t valid!'')

Y luego quiero probar el dicho método get con curl ...

curl --data "when=[WHAT SHOULD I WRITE HERE?]" localhost:5000/myGet

Entonces la pregunta es, ¿cómo debería llamar al método get? Probé numerosos formatos diferentes, intenté leer el estándar rfc228, etc. pero no puedo entender el formato correcto.