Typing nits: Calendar.multiget() annotation, and DAVClient.password type differs between sync and async
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 76/100
Hướng nghiên cứu
Đọc caldav/collection.py quanh Calendar.multiget() và so sánh chú thích kiểu của nó với search() hoặc get_object_by_uid(). Sau đó kiểm tra caldav/davclient.py quanh các hàm khởi tạo đồng bộ và bất đồng bộ cũng như phần xử lý mật khẩu. Cập nhật nhất quán các kiểu công khai và kiểm tra các bài kiểm thử liên quan đến kiểu và client; hoàn tất khi multiget() bất đồng bộ được biểu diễn là trả về một coroutine và cả hai client đều công khai mật khẩu dưới dạng str.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Disclaimer: AI-generated text below the line, generated by Claude Opus 5.5 while writing the CalDAV backend for calendaring, from the prompt:
file the ugs (sic) found
Two small inconsistencies, both found while wrapping caldav in a typed sync/async layer. Low priority; neither breaks anything at runtime today.
-
Calendar.multiget()is annotated-> Iterable[_CC], but returns a coroutine to an async client (caldav/collection.py,multiget). Its siblings (search(),get_object_by_uid(), ...) say"list[_CC] | Coroutine[Any, Any, list[_CC]]";multiget()returnsself._async_multiget_objects(...)for an async client but its annotation does not admit it, so a type checker acceptsfor obj in calendar.multiget(urls)on an async client, which then iterates a coroutine. Fix: the sameX | Coroutine[...]annotation as the others. -
DAVClient.passwordisbytes,AsyncDAVClient.passwordisstr. The sync constructor encodes a str password to UTF-8 (caldav/davclient.py, around line 330); the async one keeps it as given. The sync client decodes it again before building the auth object, so authentication works in both modes, but the public attribute's type depends on the mode: code readingclient.password(a test, or a wrapper that hands the client to something else) has to accept both. Fix: keep it a str in both, and encode only where bytes are needed, if anywhere.
- Ngôn ngữ chính
- Python
- Star
- 412
- Fork
- 113
- Merge trung bình
- 11 giờ 37 phút
- Pull request đã merge (30 ngày)
- 50
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc 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 python-caldav/caldav
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
python-caldav/caldav#792 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
python-caldav/caldav#788 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
python-caldav/caldav#687 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 75/100
python-caldav/caldav#796 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 66/100
python-caldav/caldav#795 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của python-caldav/caldav
Issue tương tự
-
Edit tool converts CRLF files to LFCó thể đã có người làm @RaphaelFakhri đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
huggingface/tau#774 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
show ignores the row limit when a column or table name contains "limit"Có thể đã có người làm @RaphaelFakhri đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Agents panel: Codex token stats always empty because Codex now writes `*.jsonl.zst` sessionsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 2 ngày
-
documentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
eclipse-score/inc_someip_gateway#356 ·
Maintainer thường phản hồi trong vòng 2 ngày