cuducos/calculadora-do-cidadao

API mais flexível com tipos

cuducos opened this issue · 4 comments

Por questões de implementação o método adjust espera que as datas chegem com o tipo date. Para facilitar a vida do usuário, podemos ter uma tentativa de conversão de alguns outros tipos para date, deixando a API mais flexível:

Entrada Tipo Valor convertido
"2020-07-31" str date(2020, 7, 31)
"31/07/2020" str date(2020, 7, 31)
"2020-07" str date(2020, 7, 1)
"2020" str date(2020, 1, 1)
"07/2020" str date(2020, 7, 1)
2020 int date(2020, 1, 1)

Também podemos descartar strings maiores que 10 caracteres (oferecer compatibilidade com datetime no formato ISO), e aceitar datetime como entrada. Faz sentido?

Quer fazer com "python raw" ou pode adicionar dependências novas?

Não tenho ideia formada, mas confesso que a arquitetura e os campos rows tem uma API boa — e rows já é dependência : )

Conheço pouco a rows para ser bem sincero rs.
Perguntei pq a arrow e a maya parecem suprir a necessidade sem demandar "pensar em formatos" (apesar que eu não testei coisas como 2020):

https://stackabuse.com/converting-strings-to-datetime-in-python/

Sinceramente, não acho que Maya seja a melhor ferramenta aqui… entendo Maya como uma boa ferramenta para manipular datas, mas não tão boa para transformar datas…

Penso que a forma como a Rows adivinha que um dado campo é de certo tipo, é mais eficiente e focado no caso de uso… mas enfim, nada contra. Só jogando conversa fora por enquanto, enquanto não temos código para ser mais focados hehehe…