dm.zope.schema

نرم افزار تصویر:
dm.zope.schema
جزئیات نرم افزار:
نسخه: 2.0
ها تاریخ: 14 Apr 15
توسعه دهنده: Dieter Maurer
پروانه: رایگان
محبوبیت: 3

Rating: nan/5 (Total Votes: 0)

در dm.zope.schema شامل پسوند zope.schema.
ماژول
بررسی
یک همراه و همدم برای بخش طرح از رابط های zope.interface.verify.
این شامل verify_schema تابع (iface، OBJ، زمینه = هیچ، check_declaration = واقعی) که تأیید کند که ارضا OBJ بخش طرح از رابط iface. زمینه های طرح نیاز به رسیدن به یک زمینه محدود قبل از آنها می توان اعتبار. متن این زمینه و پیش فرض به OBJ مشخص می کند. check_declaration چک که OBJ اعلام به privide iface.
طرح
محتوای اصلی کلاس Mixin دارد SchemaConfigured است. این پشتیبانی از پیکربندی بر اساس بخش طرح از رابط های اجرا شده توسط کلاس مشتق SchemaConfigured. اگر می خواهید به کنترل که از آن ارتباط طرح است مشتق شده است، شما می توانید ویژگی کلاس SC_SCHEMAS استفاده: ارزش خود را باید هیچ (به طور خودکار مشتق طرح از رابط های اجرا)، یک رابط واحد و یا یک تاپل از رابط باشد. به دست گرفتن کنترل صریح بیش از رابط مورد استفاده برای تعیین طرح به ویژه برای Zope 2 طرح کلاس محتوای پیکربندی مهم (به عنوان OFS.SimpleItem.SimpleItem کلاس پایه خود را پیاده سازی تعداد زیادی از رابط که زمینه شما به احتمال زیاد در طرح شما می خواهید نیست).
SchemaConfiguredEvolution کلاس Mixin دارد پشتیبانی از تکامل طرح برای (ZODB) اشیاء مداوم فراهم می کند. __setstate__ خود می افزاید از دست رفته صفات به شی به طوری که شما می توانید زمینه های جدید به طرح خود اضافه کنید و هنوز هم پیدا کردن تمام صفات مربوطه بر روی اشیاء مربوطه حتی زمانی که آن قبل از پسوند ایجاد شده است. توجه: به منظور SchemaConfiguredEvolution موثر باشد، باید آن را در اوایل منظور وضوح روش (MRO) (قبل از persistent.Persistent) آمده است. به همین دلیل است یک کلاس جداگانه است و از ویژگی های آن گنجانده نشده است در SchemaConfigured خود را (ممکن است دلایل خوبی برای در اواخر MRO SchemaConfigured اند وجود دارد). به عنوان یک جایگزین برای استفاده از SchemaConfiguredEvolution، شما می توانید مقادیر پیش فرض تعریف شده در سطح کلاس برای زمینه های جدید استفاده کنید.
گهگاه، توابع schemaitems و schemadict ممکن است مفید. آنها استخراج بخش طرح از یک رابط یا واسط مشخصات به عنوان یک لیست از شناسه، جفت درست یا فرهنگ لغت، به ترتیب.
درست شی جایگزینی برای zope.schema.Object است. دومی فاقد اطلاعات درست در خطاهای اعتبار (https://bugs.launchpad.net/zope.schema/+bug/620324) که باعث می شود شناسایی زمینه های آسیب دیده بی ارزش دشوار است. گاهی اوقات، یکی می خواهد به سرکوب چک که یک شی اعتبار به صراحت اعلام به ارائه رابط. شی دارای خاصیت check_declaration اضافی برای کنترل این (پیش فرض به واقعی).
مدیر املاک
این ماژول پیاده سازی طرح بر اساس زیر گروه OFS.PropertyManager.PropertyManager. _properties صفت توصیف خواص است در کلاس و یا موارد خود را حفظ نیست، بلکه به دست آمده از ارائه (به ترتیب اجرا) طرحواره. برای لحظه ای، خواص را نمی توان بر روی یک سطح بر اساس عنوان مثال (به غیر از با ارائه طرح دیگر) افزایش یافته است.
zope.schema استفاده از یونیکد برای نمایش متن. PropertyManager می توانید در خواص پشتیبانی از یونیکد اصل. با این حال، با توجه به اشکال / ضعف، صفحه مدیریت املاک آنها را دسته به درستی تنها، هنگامی که management_page_charset تعریف نشده و یا دارای ارزش UTF-8 (توجه داشته باشید املایی مورد بالا!). ما با استفاده از خواص یونیکد به طور پیش فرض، مگر management_page_charset.upper () بازده ارزش متفاوت از UTF-8. ما همچنین یک WorkaroundSpelling_management_page_charset کلاس Mixin دارد به کار در سراسر اصرار احمقانه Zope در املایی مورد بالا برای management_page_charset فراهم می کند.
برای لحظه ای، انواع زمینه های زیر پشتیبانی می شوند: متن، TextLine، بایت، BytesLine`، بولی، int و float و فهرست با یک نوع ارزش TextLine یا BytesLine. انواع دیگر خواهد NotImplementedError بالا می برد.
ماژول اجرا شده است به اهرم dm.zope.generate. جایگزین خواهد اجرای امکانات نسل بر اساس "zope.formlib" و استفاده از اشکال افزودنی به اصطلاح بوده است. با توجه به تجربه، من ممکن است به این جایگزین تغییر دهید.
فرم
ماژول ویرایش به طور پیش فرض (SchemaConfiguredEditForm) و صفحه نمایش (SchemaConfiguredDisplayForm) فرم ها را برای dm.zope.schema.schema.SchemaConfigured تعریف می کند.
این در zope.formlib بستگی دارد.
ویجت
فراهم می کند صفحه نمایش و ویرایش ویجت برای زمینه Timedelta، ویجت مناسب و معقول صفحه نمایش برای زمینه رمز عبور (کلمه عبور صفحه نمایش به طور پیش فرض در cleartext) و ویجت ورودی برای رمز عبور می کند که شما را مجبور به ارائه ارزش رمز عبور هر زمان که فرم شما را ویرایش کنید.
این در zope.app.form بستگی دارد در نسخه های قدیمی تر Zope و در zope.formlib در آنهایی که جدیدتر.
Z2
این subpackage ترکیبی از طرح های مربوط و Zope 2 قابلیت. در نسخه های جدیدتر Zope، آن را در five.formlib بستگی دارد.
فرم
ماژول ویرایش به طور پیش فرض (SchemaConfiguredEditForm) و صفحه نمایش (SchemaConfiguredDisplayForm) فرم ها را برای استفاده در Zope 2 تعریف می کند برای dm.zope.schema.schema.SchemaConfigured.
این در zope.formlib بستگی دارد.
سازنده
این ماژول شامل SchemaConfiguredAddForm کلاس فرم و add_form_factory کارخانه برای تولید فرم اضافه کنید (به نام "سازنده" توسط Zope 2) برای کلاسهای dm.zope.schema.schema.SchemaConfigured است. فرم افزودنی تولید می شود معمولا به عنوان بخشی از پارامتر سازنده به registerClass استفاده می شود.
add_form_factory دارای پارامترهای:
را لمس کنید و؛ شرح نام پیش فرض
& nbsp؛ در class_ کلاس برای تولید فرم برای
& nbsp؛ از عنوان ایجاد نمونه از class_ عنوان در قالب نشان داده شده است
& nbsp؛ در کلاس توضیحات _.__ doc__ مستندات نشان داده شده در شکل
& nbsp؛ در form_class کلاس فرم SchemaConfiguredAddForm مورد استفاده قرار گیرد
add_form_factory تولید فرم zope.formlib با زمینه های تعریف شده توسط طرحواره اجرا از dm.zope.schema.schema.SchemaConfigured class_ کلاس.
این ماژول شبیه به dm.zope.generate.constructor است. با این حال، آن را برای کلاس های مبتنی بر SchemaConfigured کار می کند در حالی که دومی کلاس PropertyManager بر اساس پشتیبانی می کند.
قالب
فراهم می کند مشخصات صفحه قالب form_template قادر به مشاهده و ویرایش Zope 2 طرح پیکربندی اشیاء محتوا در رابط استاندارد ZMI.
نمونه
راه اندازی: این دو طرح S1 و S2، رابط من و یک کلاس C از SchemaConfigured استخراج اجرای طرح و رابط تعریف می کند.
>>> از zope.interface رابط واردات، ادوات، providedBy
>>> از zope.schema واردات بین المللی
>>>
>>> از واردات dm.zope.schema.schema SchemaConfigured
>>> از dm.zope.schema.verify verify_schema واردات
>>>
>>> کلاس S1 (رابط): I1 = متوسط ​​(به طور پیش فرض = 0)
...
>>> کلاس S2 (رابط): I2 = متوسط ​​(به طور پیش فرض = 1)
...
>>> کلاس من (رابط):
... دف روش (): پاس
...
>>> کلاس C (SchemaConfigured):
... ادوات (S1، S2، I)
... دف روش (خود): پاس
...
نمونه C دارای ویژگی های مربوط به زمینه های طرح. اگر بدون آرگومان برای سازنده داده می شود، آنها به طور پیش فرض درست به عنوان ارزش. ارائه (کلید واژه!) استدلال باطل به صورت پیش فرض.
>>> C = C ()
>>> c.i1
0
>>> c.i2
1
>>> C = C (I1 = 5)
>>> c.i1
5
سازنده آرگومان های کلیدی در طرح تعریف نشده رد به منظور سرعت شناسایی اشتباهات املایی. با این حال، این مانع استفاده از فوق العاده در سلسله مراتب کلاس برای روش __init__. شاید، نسخه های آینده خواهد شد وسیله ای برای کنترل این چک را فراهم.
>>> C = C (X = 5)
Traceback (بیشتر تماس های اخیر آخرین):
& nbsp؛ در ...
TypeError: غیر استدلال کلمه کلیدی طرح: X
اگر مقادیر فیلد مناسب هستند، موارد C ارائه طرح (که توسط verify_schema تایید). در غیر این صورت، verify_schema خواهد یک استثنا بالا می برد. در این مثال نیز نشان می دهد که استفاده از ابتدایی از verify_schema.
>>> verify_schema (S1، C)
>>> c.i1 = هیچ
>>> verify_schema (S1، C)
Traceback (بیشتر تماس های اخیر آخرین):
& nbsp؛ در ...
zope.schema.interfaces.WrongContainedType: [('I1، RequiredMissing ())]
ما می توانیم ویرایش (یا صفحه نمایش) فرم برای اشیاء ما ایجاد کنید. فرم ها به صورت خودکار برای زمینه طرح ما ایجاد شده است. کلاس های فرم یک روش customize_fields شما می توانید باطل به ارائه زمینه های سفارشی و / یا ویدجت.
قابلیت های مشابه موجود برای Zope 2 در subpackage Z2 است.
>>> از zope.publisher.browser واردات TestRequest
>>> از dm.zope.schema.form واردات SchemaConfiguredEditForm
>>>
>>> فرم = SchemaConfiguredEditForm (C، TestRequest ())
>>> لیست ([F .__ name__ برای F در form.form_fields])
['I1'، 'I2']

چه جدید در این نسخه است:

در حمایت فرم
Zope پشتیبانی 2 سازنده

مورد نیاز:

پایتون

نرم افزار های دیگر از توسعه دهنده Dieter Maurer

dm.zdoc
dm.zdoc

14 Apr 15

نظرات به dm.zope.schema

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!