danielgtaylor / danielgtaylor/python-betterproto
datetime support in .from_dict()
- 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