A public way to add feature definitions to FeatureSet
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 56/100
Direzione di ricerca
Start by reading FeatureSet, especially find_feature() and feature_tree(), then inspect caldav_server_tester/future_features.py to see how definitions are currently added. Done means a public register_features(definitions) method adds missing definitions, keeps caldav's definitions when names overlap, clears the relevant caches, and returns the names added.
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, from the prompt(s):
The problem is that the compatibility tree cannot be edited without also releasing the caldav library. However, this is big friction, perhaps we should find some workaround in 1.7.0. Like, having a FUTURE_FEATURES dict that contains not-yet-released changes in the caldav library, and then patch up
caldav.compatibility_hints.FEATURES |= FUTURE_FEATURES, could that work out?
A new probe in caldav-server-tester needs a feature definition in FeatureSet.FEATURES, and that can only change with a caldav release. To get past this, the tester now carries the definitions caldav has not released yet (FUTURE_FEATURES in caldav_server_tester/future_features.py) and adds them to FeatureSet.FEATURES when it is imported.
That works, but it depends on caldav internals: find_feature() caches subfeatures inside the definitions and feature_tree() caches _feature_tree, so the tester has to clear both, or a parent looked up before the patch never lists its new child.
Suggestion: a class method such as FeatureSet.register_features(definitions: dict) -> list[str] that adds the definitions caldav lacks, keeps caldav's own where both define a feature, clears the caches, and returns the names it added. The tester would then call that instead of patching the class.
- Lingua principale
- Python
- Stelle
- 412
- Fork
- 113
- Merge medio
- 9h 21m
- PR unite (30g)
- 77
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à 1/5 Meno di un'ora Idoneità per principianti 68/100
python-caldav/caldav#844 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
python-caldav/caldav#792 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
python-caldav/caldav#788 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
python-caldav/caldav#687 ·
I maintainer di solito rispondono entro 1 giorno
-
Objects built from arguments have a TZID but no VTIMEZONEForse già presa @ivenos l’ha presa oggi. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
python-caldav/caldav#849 · 14 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di python-caldav/caldav
Issue simili
-
community enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
NVIDIA/auto-ontology#463 ·
I maintainer di solito rispondono entro 1 giorno
-
Update Atari link on Gymnasium docs pageForse già presa @qwist1233-cpu l’ha presa oggi. Apertahelp wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
Farama-Foundation/Gymnasium#1845 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 91/100
WingedGuardian/GENesis-AGI#4101 ·
I maintainer di solito rispondono entro 1 giorno