traitlets Dict with per_key_traits should be more specific in a TraitError
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 38/100
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện ví dụ Dict(per_key_traits) lồng nhau trong issue và lần theo điểm vào xác thực Dict cho per_key_traits. Thay đổi được hoàn tất khi TraitError xác định khóa gây lỗi hoặc đường dẫn khóa lồng nhau và báo cáo rõ ràng giá trị thực tế không hợp lệ; thêm kiểm thử hồi quy cho trường hợp được nêu nếu bố cục kiểm thử hiện có cho phép.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
I'm using traitlets version 5.14.3 and Python 3.12.3...
- The error raised by
Dict()withper_key_traitsshould specify the offending key name in the error. - The error raised by
Dict()withper_key_traitsdoesn't handle nested dicts well
Example:
from traitlets import HasTraits, Dict, Unicode
class Foo(HasTraits):
bar = Dict(per_key_traits={"this": Unicode(), "that": Dict(per_key_traits={"that": Unicode()})})
foo = Foo()
# key that should be a Dict()...
foo.bar = {"this": "valid", "that": False}
The error raised is:
traitlets.traitlets.TraitError: Values of the 'bar' trait of a Foo instance must be a dict, but a value of False <class 'bool'> was specified.
It would be better if it specified the offending chain of keys in the error... Example:
traitlets.traitlets.TraitError: Value of bar['that'] for a Foo instance must be a dict, but the specified value at bar['that'] was False <class 'bool'>.
- Ngôn ngữ chính
- Python
- Star
- 653
- Fork
- 217
- Merge trung bình
- 2 ngày 21 giờ
- Pull request đã merge (30 ngày)
- 2
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ipython/traitlets
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 65/100
-
good first issue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
Document `TraitType.read_only` Đang mởdocumentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
Tất cả issue của ipython/traitlets
Issue tương tự
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
canonical/paas-charm#368 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
tech debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
addition to tracking list Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
StevenBlack/hosts#3256 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
qualcomm/qai-appbuilder#275 ·