zope.configuration gir en utvidbar system for å støtte ulike typer konfigurasjoner.
Den er basert på ideen om konfigurasjons direktiver. Brukere av konfigurasjon system gir konfigurasjonsdirektiver i noen språk som uttrykker konfigurasjonsvalg. Hensikten er at språket være pluggbare. En XML språk er levert som standard.
Detaljert Dokumentasjon
Zope konfigurasjon system
Zope konfigurasjon system gir en utvidbar system for å støtte variouse typer konfigurasjoner.
Den er basert på ideen om konfigurasjons direktiver. Brukere av konfigurasjon system gir konfigurasjonsdirektiver i noen språk som uttrykker konfigurasjonsvalg. Hensikten er at språket være pluggbare. En XML språk er levert som standard.
Konfigurasjon blir utført i tre trinn. I det første trinn, blir behandlet for å beregne direktiver konfigurasjons handlinger. Konfigurasjons handlinger består av:
- En discriminator
- En callable
- posisjon argumenter
- Søkeord argumenter
Handlingene er i hovedsak forsinket funksjonskall. To eller flere handlinger konflikt hvis de har samme discriminator. Konfigurasjonen systemet har regler for å løse konflikter. Hvis konflikter ikke kan løses, vil en feil oppstå. Konfliktløsning vanligvis forkaster alle unntatt én av de motstridende handlinger, slik at de resterende handling av de opprinnelig-motstridende handlinger ikke lenger konflikter. Ikke-motstridende handlinger utføres i den rekkefølgen de ble skapt ved å sende de posisjonelle og ikke-posisjon argumenter til handlingen Callable.
Systemet er utvidbar. Det er en meta-konfigurasjon språk for å definere konfigurasjonsdirektiver. Et direktiv er definert ved å gi meta data om direktivet og handler kode for å behandle direktivet. Det finnes fire typer direktiver:
- Enkle direktiver beregne konfigurasjons handlinger. Handlere er typisk funksjoner som tar en sammenheng og null eller flere søkeord argumenter og returnerer en sekvens av konfigurasjons handlinger.
- For å lære å lage enkle direktiver, se tester / test_simple.py.
- Gruppering direktiver samle informasjon som skal brukes av nøstede direktiver. De kalles med en kontekst objekt som de tilpasser seg noen grensesnitt som strekker IConfigurationContext.
- Hvis du vil vite hvordan du oppretter gruppering direktiver, se på dokumentasjonen i zopeconfigure.py, som gir gjennomføringen av Zope konfigurere direktivet.
& Nbsp; Andre direktiver kan nestes i gruppering direktiver.
- Å lære å implementere nestede direktiver, se på dokumentasjonen i tester / test_nested.py.
- Komplekse direktiver er direktiver som har subdirectives. Subdirectives har handlers som er rett og slett metoder for komplekse direktiver. Komplekse diretives håndteres av fabrikker, typisk klasser, som skaper objekter som har metoder for håndtering subdirectives. Disse objektene har også __call__ metoder som kalles når behandlingen av subdirectives er ferdig.
- Komplekse direktiver eksisterer bare for å støtte gamle direktivet handlers. De vil sannsynligvis bli foreldet i fremtiden.
- Subdirectives er nestet i komplekse direktiver. De er som enkle direktiver bortsett fra at de Hane handlers som er komplekse direktivet metoder.
- Subdirectives, som komplekse direktiver eksisterer bare for å støtte gamle direktivet handlers. De vil sannsynligvis bli foreldet i fremtiden
Hva er nytt i denne utgaven:..
- 100% enhet test dekning
- Automatisert bygge av Sphinx HTML docs og kjører doctest snutter via tox.
- Droppet vanskelig å teste avhengighet zope.testing.
- Lagt eksplisitt støtte for PYPY.
- Lagt eksplisitt støtte for Python 3.2.
- Droppet eksplisitt støtte for Python 2.4 / 2.5.
- Lagt til støtte for kontinuerlig integrasjon ved hjelp av tox og Jenkins.
- Lagd Sphinx dokumentasjon.
- Lagt setup.py docs alias (installerer Sphinx og avhengigheter).
- Lagt setup.py dev alias (runs setup.py utvikle pluss installerer nese og dekning).
Hva er nytt i versjon 3.8.1:
- Fast Python 2.4 bakover incompat (itemgetter brukes med multippel args); Python 2.4 fungerer nå (i hvert fall hvis du bruker zope.schema == 3.8.1). Dette er den siste utgivelsen som vil støtte Python 2.4 eller 2.5.
Hva er nytt i versjon 3.8.0:
- Action strukturer endret fra tupler til ordbøker for å tillate handling struktur utvidelsesmuligheter (sammenslåtte Chrism-dictactions gren).
Krav :
- Python
Kommentarer ikke funnet