dm.zope.schema

Yazılım ekran görüntüsü:
dm.zope.schema
Yazılım detaylar:
Versiyon: 2.0
Qayıt: 14 Apr 15
Geliştirici: Dieter Maurer
Lisans: Ücretsiz
Popülerlik: 3

Rating: nan/5 (Total Votes: 0)

dm.zope.schema zope.schema için uzantıları içerir.
Modüller
doğrulamak
Bir arkadaşı arayüzleri şema bölümü için zope.interface.verify için.
Bu fonksiyon verify_schema içeren (iface, obj, bağlam = Yok, check_declaration = true) arabirimi Iface bu obj karşılayan şema bölümünü doğrular. Şema alanları da valide önce bir bağlamda bağlı almak gerekir. bağlam obj bu bağlam ve varsayılan belirtir. obj iface privide beyan denetler check_declaration.
şema
Ana içeriğin SchemaConfigured mixin sınıftır. Bu SchemaConfigured türetilmiş sınıf tarafından uygulanan arayüzleri şema parçası olarak yapılandırmayı destekler. Eğer hangi şema türetilmiştir arabirimleri kontrol etmek istiyorsanız, sınıf özniteliği SC_SCHEMAS kullanabilirsiniz: değeri Yok (uygulanan arayüzleri otomatik şema elde), tek bir arayüz veya arayüzleri bir demet olmalıdır. (Onların temel sınıf OFS.SimpleItem.SimpleItem alanları olasılıkla şemada istemiyorum arayüzleri çok sayıda uygulayan gibi) şema belirlemek için kullanılan arabirimler üzerinde açık kontrolünü ele Zope 2 şema yapılandırılmış içerik sınıflar için özellikle önemlidir.
mixin sınıfı SchemaConfiguredEvolution (ZODB) kalıcı nesneler için şema evrimi için destek sağlar. Onun __setstate__ sizin şemaya yeni alanlar ekleyebilir ve yine bu uzantısı önce oluşturulmuş bile ilgili nesneler üzerinde tüm ilgili özelliklerini bulabilirsiniz şekilde nesneye özelliklerini eksik ekler. Not: Etkili olması için SchemaConfiguredEvolution için sırayla, erken (persistent.Persistent önce) yöntemi çözünürlüğü sırayla (MRO) gelmelidir. Ayrı bir sınıf ve özellik SchemaConfigured kendisi (MRO geç SchemaConfigured olması için iyi nedenler olabilir) dahil değildir bu yüzden. SchemaConfiguredEvolution kullanımına alternatif olarak, yeni alanlar için sınıf düzeyinde tanımlanan varsayılan değerleri kullanabilirsiniz.
Bazen, fonksiyonlar schemaitems ve schemadict yararlı olabilir. Onlar sırasıyla id listesi, saha çift veya bir sözlük gibi bir arayüz veya arayüz şartnamenin şema kısmını ayıklamak.
Alan Nesne zope.schema.Object için bir yedek. İkincisi gereksiz zor etkilenen alanların tespiti yapan doğrulama hataları alan bilgileri (https://bugs.launchpad.net/zope.schema/+bug/620324) yoksun. Bazen, bir valide nesne açıkça arayüz sağlamak için beyan onay bastırmak istiyor. Nesne bu (true varsayılan) kontrol etmek için ek özellik check_declaration vardır.
PropertyManager
Bu modül, bir şema tabanlı OFS.PropertyManager.PropertyManager alt sınıfı uygular. _properties özelliklerini tanımlayan sınıfın veya örnekleri üzerinde muhafaza ancak sağlanan (sırasıyla uygulanan) şemalar elde değil özniteliği. Şu an için, özellikleri (başka şema sağlayarak haricinde) bir örnek tabanlı düzeyde uzatılamaz.
zope.schema metni temsil etmek unicode kullanır. Ilke destek unicode özellikleri yapabilirsiniz PropertyManager. Bir hata / zayıflık, emlak yönetim sayfası sadece management_page_charset tanımlı değilken bunları doğru işler veya değer UTF-8 vardır nedeniyle Ancak, (büyük harf yazım dikkat!). Management_page_charset.upper () UTF-8 farklı bir değer verir sürece varsayılan olarak Unicode özelliklerini kullanın. Biz de management_page_charset için büyük harf yazım üzerine Zope aptal ısrarı etrafında çalışmak için bir mixin sınıf WorkaroundSpelling_management_page_charset sağlamak.
Şu an için, aşağıdaki alan türleri desteklenir: Metin, TextLine, Byte, BytesLine`, Bool, Orta, TextLine veya BytesLine bir değer türü ile Float ve listesi. Diğer tipler NotImplementedError çıkaracağız.
Modül dm.zope.generate kaldıraç uygulamaya konmuştur. Bir alternatif "zope.formlib" ve sözde eklenti formlarının kullanımına dayalı üretim tesislerinin uygulanması olurdu. Deneyimlerine bağlı olarak, bu alternatif geçiş olabilir.
form
Modül varsayılan düzenlemek (SchemaConfiguredEditForm) ve dm.zope.schema.schema.SchemaConfigured için ekran (SchemaConfiguredDisplayForm) formları tanımlar.
Bu zope.formlib bağlıdır.
Widget
Timedelta alanları için ekran ve düzenleme widget'lar sağlar, Şifre alanları için iyi bir gösterge Widget (düz metin olarak varsayılan görüntüler şifreleri) ve formu düzenlemek zaman şifre değerini sağlamak için zorlamaz Şifre için bir giriş widget.
Bu eski Zope sürümlerinde ve yeni olanlar zope.formlib üzerinde zope.app.form bağlıdır.
z2
Bu subpackage şema ile ilgili bir araya getiren ve Zope'un 2 işlevsellik. Yeni Zope sürümlerinde, bu five.formlib bağlıdır.
form
Modül Zope 2 kullanılmak üzere dm.zope.schema.schema.SchemaConfigured için varsayılan düzenlemek (SchemaConfiguredEditForm) ve ekran (SchemaConfiguredDisplayForm) formları tanımlar.
Bu zope.formlib bağlıdır.
inşaatçı
Bu modül dm.zope.schema.schema.SchemaConfigured tabanlı sınıflar için bir eklenti formu sınıf SchemaConfiguredAddForm ve (Zope 2 tarafından "yapıcı" olarak adlandırılır) bir eklenti formunun üretimi için bir fabrika add_form_factory içerir. oluşturulan eklenti form genellikle RegisterClass için kurucular parametresinin parçası olarak kullanılır.
add_form_factory parametreleri vardır:
& Nbsp; ad varsayılan açıklaması
& Nbsp; için formu oluşturmak için sınıf class_
& Nbsp; başlık başlık şeklinde gösterilen class_ örneğini oluşturun
& Nbsp; açıklama sınıfı _.__ şeklinde gösterilen belgeleri doc__
& Nbsp; SchemaConfiguredAddForm bir şekilde sınıf form_class kullanılacak
add_form_factory dm.zope.schema.schema.SchemaConfigured sınıf class_ ve uygulanan şemalar tarafından tanımlanan alanlar ile bir zope.formlib formu oluşturur.
Bu modül, dm.zope.generate.constructor benzer. İkincisi PropertyManager tabanlı sınıflarını destekler Bununla birlikte, bu SchemaConfigured tabanlı sınıflar için çalışıyor.
şablon
Görüntülemek ve Zope standart ZMI arayüzü içinde 2 şema yapılandırılmış içerik nesneleri düzenlemek mümkün görünüm sayfası şablonu form_template sağlar.
Örnekler
Kurulum: İki şemalar S1 ve S2, ben ve bir C sınıfı şemaları ve arabirim uygulama SchemaConfigured kaynaklanan bir arayüz tanımlar.
>>> Zope.interface ithalat Arayüzü, uygular, providedBy gelen
>>> Zope.schema ithalat Int
>>>
>>> Dm.zope.schema.schema import SchemaConfigured
>>> Dm.zope.schema.verify ithalat verify_schema gelen
>>>
>>> Sınıfı S1 (Interface): i1 = Int (default = 0)
...
>>> Sınıf S2 (Interface): i2 = Int (default = 1)
...
>>> Sınıf I (Interface):
... Def yöntemi (): geçiş
...
>>> C sınıfı (SchemaConfigured):
... Uygular (S1, S2, J)
... Def yöntemi (self): pass
...
C örnekleri şema alanları karşılık gelen özelliklere sahip. Hiçbir argüman yapıcısı için verilmiştir, bunlar değer olarak alan varsayılan olsun. Sağlanan (anahtar kelime!) Argümanlar varsayılan geçersiz kılar.
>>> C = C ()
>>> C.i1
0
>>> C.i2
1
>>> C = C (i1 = 5)
>>> C.i1
5
Yapıcı hızla yazım hatalarını tespit etmek için şemada tanımlı olmayan anahtar kelime argümanlar reddeder. Ancak, bu __init__ yöntemi için sınıf hiyerarşisinde süper kullanımını engellemektedir. Belki, gelecek sürümleri bu çeki kontrol etmek için bir araç sağlayacaktır.
>>> C = C (X = 5)
Traceback (en son çağrı son):
& Nbsp; ...
TypeError: sigara şema kelime argüman: x
Alan değerleri uygun ise, C örnekleri (verify_schema tarafından doğrulanmadı gibi) şemalar sağlamaktadır. Aksi takdirde, verify_schema bir istisna çıkaracağız. Bu örnek, aynı zamanda verify_schema elementer kullanımını gösterir.
>>> Verify_schema (S1, c)
>>> C.i1 = Yok
>>> Verify_schema (S1, c)
Traceback (en son çağrı son):
& Nbsp; ...
zope.schema.interfaces.WrongContainedType [('i1, RequiredMissing ())]
Biz bizim nesneler için bir düzenleme (veya ekran) formu oluşturabilirsiniz. Form alanları otomatik olarak şema alanları için oluşturulur. Form sınıfları özel alanlar ve / veya widget'lar sağlamak için kılabilirsiniz bir customize_fields yöntemi var.
Benzer bir işlevsellik Z2 subpackage içinde Zope 2 için kullanılabilir.
>>> Zope.publisher.browser ithalat TestRequest gelen
>>> Dm.zope.schema.form ithalat SchemaConfiguredEditForm gelen
>>>
>>> Bir şekilde = SchemaConfiguredEditForm (c, TestRequest ())
>>> Liste ([form.form_fields f için .__ name__ f])
['I1', 'i2']

Bu sürümdeki yeni nedir:

  • Form desteği
  • Zope 2 yapıcı desteği

Gereksinimler :

  • Python

Geliştirici Diğer yazılım Dieter Maurer

dm.zdoc
dm.zdoc

14 Apr 15

Yorumlar dm.zope.schema

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!