Todo.complete(rrule_mode="this_and_future") raises AttributeError; only the undeclared "thisandfuture" works
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 66/100
Direzione di ricerca
Inizia da Todo.complete() in caldav/calendarobjectresource.py, dove è dichiarato il Literal rrule_mode e il dispatch con getattr costruisce _complete_recurring_%s. Confrontalo con il metodo _complete_recurring_thisandfuture, vicino alla riga 2293, poi controlla _async_complete per la stessa incongruenza. È completato quando rrule_mode="this_and_future" funziona, entrambe le grafie sono accettate e tipizzate, e un test unitario copre ogni valore del Literal.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Disclaimer: AI-generated text below the line, generated by Claude Opus 5.5 (Claude Code). It was found by a clean-context review of the calendaring API spec
Todo.complete() declares
rrule_mode: Literal["safe", "this_and_future"] = "safe",
and its docstring lists this_and_future, but it dispatches with
getattr(self, "_complete_recurring_%s" % rrule_mode)(completion_timestamp)
and the method is called _complete_recurring_thisandfuture. So:
complete(handle_rrule=True, rrule_mode="this_and_future"), the spelling the type and the docs promise, raisesAttributeError.rrule_mode="thisandfuture"works. The integration tests use it (tests/test_async_integration.py:1669), and so does thesave-load.todo.recurrences.thisandfuturefeature name. But a type checker rejects it, since it is not in theLiteral.
Seen in caldav/calendarobjectresource.py at v3.4.0-9 (complete around line 2318, the dispatch at line 2348, the method at line 2293). The async path (_async_complete) should be checked for the same problem.
Possible fix: accept both spellings, mapping "this_and_future" to "thisandfuture" (or the other way round), put both in the Literal, and add a unit test that calls complete() with each value in the Literal.
- Lingua principale
- Python
- Stelle
- 412
- Fork
- 113
- Merge medio
- 1g 2h
- PR unite (30g)
- 43
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di python-caldav/caldav
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
python-caldav/caldav#687 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
python-caldav/caldav#780 ·
I maintainer di solito rispondono entro 1 giorno
-
compatibility refactoring
Difficoltà 4/5 3-5 giorni Idoneità per principianti 32/100
python-caldav/caldav#778 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Support for ical objectsAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 18/100
python-caldav/caldav#777 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
python-caldav/caldav#774 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di python-caldav/caldav
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
aws-samples/sample-per-model-bedrock#261 ·
I maintainer di solito rispondono entro 1 giorno
-
[UI/Accessibility] Low contrast text visibility in country selection dropdown on settings pageAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
pwncollege/dojo#1188 ·
I maintainer di solito rispondono entro 1 giorno
-
bug launcher packaging
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
tenstorrent/tt-studio#1426 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
python-attrs/cattrs#796 ·
I maintainer di solito rispondono entro 1 giorno