danielgtaylor / danielgtaylor/python-betterproto

datetime support in .from_dict()

Ouverte
#33 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug good first issue low priority small
Langage dominant
Python
Étoiles
1.8k
Forks
234
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Good day, assuming I have
`d = {'date_of_birth': datetime.datetime(2000)}`
and a `proto` including
`date_of_birth: Timestamp`:
When `proto.from_dict(d)` is called, it assumes the value of date_of_birth is an ISO string and does not consider that it may already be a `datetime.datetime`

I refer to your `__init__.py` L799-803:
```
elif isinstance(v, datetime):
v = datetime.fromisoformat(
value[key].replace("Z", "+00:00")
)
setattr(self, field.name, v)
```
This should check if `value[key]` is already an instance of `datetime.datetime` and assign it directly, shouldn't it?

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez dans __init__.py autour des lignes 799-803 et suivez le traitement de .from_dict() pour les champs Timestamp. Vérifiez le comportement à la fois pour une valeur datetime.datetime existante et pour une chaîne au format ISO ; le travail est terminé lorsque les entrées datetime sont affectées sans conversion en chaîne, tandis que les entrées sous forme de chaîne conservent leur comportement actuel d’analyse.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
backend
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.