danielgtaylor / danielgtaylor/python-betterproto

datetime support in .from_dict()

Đang mở
#33 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug good first issue low priority small
Ngôn ngữ chính
Python
Star
1.8k
Fork
234
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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?

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu trong __init__.py quanh các dòng 799-803 và theo dõi cách xử lý .from_dict() đối với các trường Timestamp. Xác minh hành vi cho cả một giá trị datetime.datetime hiện có và một chuỗi ở định dạng ISO; được xem là hoàn tất khi các đầu vào datetime được gán mà không chuyển đổi thành chuỗi, trong khi các đầu vào chuỗi vẫn giữ nguyên hành vi parsing hiện tại.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
backend
Loại issue
Lỗi
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.