dm.zope.schema

Software kuvakaappaus:
dm.zope.schema
Ohjelmiston tiedot:
Versio: 2.0
Lähetyksen päivämäärä: 14 Apr 15
Kehittäjä: Dieter Maurer
Lupa: Vapaa
Suosio: 3

Rating: nan/5 (Total Votes: 0)

dm.zope.schema sisältää laajennukset zope.schema.
Moduulit
tarkistaa
Seuralainen zope.interface.verify varten skeema osa rajapintoja.
Se sisältää toiminnon verify_schema (IFACE, obj, context = None, check_declaration = True), joka varmistaa, että obj täyttää skeema osa käyttöliittymän IFACE. Schema kentät täytyy saada sidottu tilanteessa ennen kuin ne voidaan hyväksyä. Konteksti määrittelee tässä yhteydessä ja oletuksena obj. check_declaration tarkastukset, obj ilmoittaa privide IFACE.
malli
Pääasiallinen sisältö on Mixin luokan SchemaConfigured. Se tukee kokoonpano mukaan skeema osa rajapinnat toteutetaan SchemaConfigured johdettu luokka. Jos haluat ohjata, mistä liitynnän skeema on peräisin, voit käyttää luokan attribuutti SC_SCHEMAS: sen arvon pitäisi olla mitään (peräisin skeema automaattisesti toteutettu rajapinnat), yhden käyttöliittymän tai monikko rajapintoja. Kun nimenomaisen valvoa rajapintojen käytetään määrittämään skeema on erityisen tärkeää Zope 2 skeema määritetty pitoisuus luokat (tukikohtanaan luokan OFS.SimpleItem.SimpleItem toteuttaa valtava määrä rajapintoja, joiden kentät todennäköisesti halua sinun skeema).
Mixin luokan SchemaConfiguredEvolution tukee skeema evoluution (ZODB) pysyviä esineitä. Sen __setstate__ lisää puuttuvat määritteet esineen, että voit lisätä uusia kenttiä omaan skeema ja silti löytää kaikki vastaavat attribuutteja kyseisten kohteiden vaikka ne on luotu ennen jatkoaikaa. Huom: jotta SchemaConfiguredEvolution olisi tehokas, sen täytyy tulla aikaisin menetelmässä päätöslauselmassa järjestyksessä (MRO) (ennen persistent.Persistent). Siksi on on erillinen luokka ja sen ominaisuus ei sisälly SchemaConfigured itse (voi olla hyviä syitä ovat SchemaConfigured myöhään MRO). Vaihtoehtona käyttöä SchemaConfiguredEvolution, voit käyttää oletusarvoja määritellään luokan tasolla uusia kenttiä.
Joskus toiminnot schemaitems ja schemadict saattaisi olla hyödyllistä. Ne poimia skeema osa liitännän tai rajapintamäärittely kuin luettelon id, kentän paria tai sanakirja, vastaavasti.
Kenttä Object on korvaaja zope.schema.Object. Jälkimmäinen puuttuu alan tietoja validointivirheitä (https://bugs.launchpad.net/zope.schema/+bug/620324), joka tekee tunnistaminen vaikuttaa kenttien tarpeettomasti vaikeaa. Joskus halutaan tukahduttaa, tarkista, että validoitu esine nimenomaisesti ilmoittaa tarjota käyttöliittymä. Object on lisäpalveluihin check_declaration hallitsemaan (oletusarvo tosi).
propertymanager
Tämä moduuli toteuttaa skeema perustuu OFS.PropertyManager.PropertyManager alaluokka. _properties Kuvaavalla ominaisuuksia ei ylläpidetään luokkaan tai sen tapahtumia, mutta johdettu säädetty (vastaavasti toteutettu) skeemoja. Sillä hetkellä, ominaisuuksia ei voida pidentää esimerkiksi perustuva taso (muut kuin tarjoamalla toinen skeema).
zope.schema käyttää Unicode edustamaan tekstiä. PropertyManager voi periaatteessa tukea Unicode ominaisuuksia. Kuitenkin, koska bugi / heikkous, isännöinti sivu käsittelee niitä oikein vain, kun management_page_charset ei ole määritelty tai on arvo UTF-8 (huomaa isot kirjaimet oikeinkirjoitus!). Käytämme unicode ominaisuudet oletuksena ellei management_page_charset.upper () tuottaa arvo poikkeaa UTF-8. Tarjoamme myös Mixin luokan WorkaroundSpelling_management_page_charset kiertää Zope tyhmä vaatimus isoja kirjoitusasun management_page_charset.
Sillä hetkellä, seuraavaan kenttään tyyppejä tuetaan: Teksti, TextLine, tavut, BytesLine`, Bool, Int, Float ja luettelo arvo tyypin TextLine tai BytesLine. Muunlaiset nostaa NotImplementedError.
Moduuli on toteutettu hyödyntää dm.zope.generate. Vaihtoehtona olisi ollut täytäntöönpanoa voimaloihin perustuva "zope.formlib" ja käyttöön ns add muotoja. Riippuen kokemus, saatan vaihtaa tätä vaihtoehtoa.
muoto
Moduuli määrittelee oletuksena muokkaa (SchemaConfiguredEditForm) ja näyttö (SchemaConfiguredDisplayForm) lomakkeet dm.zope.schema.schema.SchemaConfigured.
Se riippuu zope.formlib.
vekotin
Tarjoaa näyttö ja muokata widgettejä Timedelta kentät, kunnon näyttö widget Password -kentät (oletus näyttää salasanat selväkielisenä) ja tulo widget Salasana, joka ei pakota sinua antamaan salasanan arvo aina muokata lomakkeen.
Se riippuu zope.app.form vanhemmissa Zope versiot ja zope.formlib vuonna uusilla.
z2
Tämä alipaketin yhdistyvät skeema liittyviä ja Zope 2 toiminnallisuutta. In Zopen versioissa, se riippuu five.formlib.
muoto
Moduuli määrittelee oletuksena muokkaa (SchemaConfiguredEditForm) ja näyttö (SchemaConfiguredDisplayForm) lomakkeita dm.zope.schema.schema.SchemaConfigured käytettäväksi Zope 2.
Se riippuu zope.formlib.
rakentaja
Tämä moduuli sisältää lisäosan muodossa luokan SchemaConfiguredAddForm ja tehdas add_form_factory varten sukupolven add muoto (nimeltään "rakentaja" by Zope 2) varten dm.zope.schema.schema.SchemaConfigured perustuu luokkiin. Syntyy add muoto on yleensä käytetään osana rakentajien parametrin registerClass.
add_form_factory on parametrit:
& Nbsp; nimi oletuskuvaus
& Nbsp; class_ luokan tuottaa muodossa
& Nbsp; title Luo instanssi class_ otsikko esitetään muodossa
& Nbsp; kuvaus luokan _.__ doc__ asiakirjat esitetään muodossa
& Nbsp; form_class SchemaConfiguredAddForm muoto, jota haluat käyttää
add_form_factory luo zope.formlib lomakkeen kentät määritelty täytäntöön skeemoja dm.zope.schema.schema.SchemaConfigured luokan class_.
Tämä moduuli on samanlainen dm.zope.generate.constructor. Kuitenkin, se toimii SchemaConfigured perustuvat luokat, kun taas jälkimmäinen tukee PropertyManager perustuvat luokat.
sapluuna
Tarjoaa mieltä sivupohjan form_template voi tarkastella ja muokata Zope 2 skeema määritetty pitoisuus esineitä standardin ZMI käyttöliittymä.
Esimerkkejä
Setup: Siinä määritellään kaksi skeemoja S1 ja S2, liitäntä I ja C-luokan peräisin SchemaConfigured täytäntöönpanosta kaavioita ja käyttöliittymä.
>>> Alkaen zope.interface tuonti Interface, työkoneita, providedBy
>>> Alkaen zope.schema tuonti Int
>>>
>>> Alkaen dm.zope.schema.schema tuonti SchemaConfigured
>>> Alkaen dm.zope.schema.verify tuonti verify_schema
>>>
>>> S1 (Interface): I1 = Int (oletus = 0)
...
>>> Luokan S2 (Interface): i2 = Int (oletusarvo = 1)
...
>>> Luokan I (Interface):
... Def menetelmä (): pass
...
>>> Luokka C (SchemaConfigured):
... Työkoneiden (S1, S2, I)
... Def menetelmä (itse): pass
...
C tapauksissa on attribuutteja vastaava skeema kentät. Jos argumentteja ei ole annettu rakentaja, he saavat kentän oletusarvo kuin arvo. Edellyttäen (avainsana!) Väitteet ohittaa oletusasetukset.
>>> C = C ()
>>> C.i1
0
>>> C.i2
1
>>> C = C (I1 = 5)
>>> C.i1
5
Rakentaja hylkää Hakusanalla väitteitä ei määritelty skeema jotta nopeasti havaita kirjoitusvirheitä. Kuitenkin tämä vaikeuttaa käyttöä super luokassa hierarkian __init__ menetelmällä. Ehkä, tulevat versiot tarjoavat keinon hallita tätä tarkastusta.
>>> C = C (x = 5)
Paluuseurannan (viimeisin puhelu viimeinen):
& Nbsp; ...
Tyyppivirhe: ei skeema Hakusanalla argumentti: x
Jos kenttä arvot ovat asianmukaiset, C tapauksissa tarjota skeemoja (kuten varmistettiin verify_schema). Muuten verify_schema nostaa poikkeus. Tämä esimerkki osoittaa myös alkeis käyttöä verify_schema.
>>> Verify_schema (S1, c)
>>> C.i1 = Ei
>>> Verify_schema (S1, c)
Paluuseurannan (viimeisin puhelu viimeinen):
& Nbsp; ...
zope.schema.interfaces.WrongContainedType: [(i1 ", RequiredMissing ())]
Voimme luoda muokata (tai näyttö) muodossa meidän esineitä. Lomakkeen kentät automaattisesti luotu meidän skeema kentät. Muodossa luokat ovat customize_fields menetelmää voit ohittaa tarjota mukautettuja kenttiä ja / tai widgetit.
Vastaava ominaisuus on käytettävissä Zope 2 z2 alipaketin.
>>> Alkaen zope.publisher.browser tuonti TestRequest
>>> Alkaen dm.zope.schema.form tuonti SchemaConfiguredEditForm
>>>
>>> Muodossa = SchemaConfiguredEditForm (c, TestRequest ())
>>> Lista ([f .__ name__ varten f form.form_fields])
['I1', 'i2 "]

Mitä uutta tässä julkaisussa:

  • muodossa tuki
  • Zope 2 rakentajan tuki

Vaatimukset :

  • Python

Muu ohjelmistojen kehittäjä Dieter Maurer

dm.zdoc
dm.zdoc

14 Apr 15

Kommentit dm.zope.schema

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!