Skip to main content
The ng.schema product
=====================


The ng.schema is zope3 product developed to provide some interface (schema)
fields and widget. Current field and widget list are:

interfaceswitcher
-----------------
Field can be used to dynamic switch subinterfaces of
some interface;

Sample of use ::

from ng.schema.interfaceswitcher.interfacechoicefield import InterfaceChoice
from ng.schema.interfaceswitcher.interfacesetfield import InterfaceSet

class IA(Interface) :
pass

class IA1(IA) :
pass

class IA2(IA) :
pass

class IOb(Interface) :

ifc = InterfaceChoice(
title=u'Interface of IA',
interface = IA,
)

ifs = InterfaceSet(
title=u'Interface of IA',
interface = IA,
with_title=True
)

regexp
------
Product can be used to check input text line with some set of
regexp and customize text line with some rewrite rules before set.

Sample of use ::

from ng.schema.regexp.regexpfield import Regexp
class IOb(Interface) :
title = Regexp(title = u'Title',
description = u'Title',
default = u'',
required = True,
regexp = (
(False, u"^.*/.*$", u"Title do not content symbol '/'"),
),
rewrite = (
(u"^\s*(?P<name>\w+)\s*-\s*(?P<number>[0-9]+)\s*$", u"%(name)s-%(number)s"),
(u"^\s*(?P<name>[^\s])\s*$", u"%(name)s"),
)
)

floatdayttime
-------------
The field allow present attribute containing float number as
time string in "HH:MM:SS" format.

Sample of use::

from ng.schema.floatdaytime.floatdaytime import FloatDayTime
class IOb(Interface) :
time = FloatDayTime(
title = u"Time",
description = u"Time of day",
required = False,
min=u'00:00',
max=u'24:00',
default=u'00:00'
)

principalidwidget
-----------------
The widget allow automaticaly assign text field by user Id. The field display as not-editable field
with current user name as vaue. User name and id gets from request attributes.

Sample of use::

<addform
label="Add Article"
name="AddArticle.html"
schema="ng.content.article.interfaces.IDocShortLogo"
content_factory="ng.content.article.article.article.Article"
class=".nexturl.NextUrl"
permission="zope.ManageContent"
layer="...interfaces.GreenpsySkin"
set_before_add="title"
>
<widget
field="author"
class="ng.schema.principalidwidget.principalidwidget.PrincipalIdWidget" />
</addform>

dropdowndatewidget
------------------
The widget allow input date by means of select value from three dropdown list for
day, mounth and year.

Sample of use::

<editform
schema="..interfaces.IProfileAnnotation"
for="..interfaces.IProfileAnnotation"
label="Profile"
name="profileannotation.html"
permission="zope.ManageContent"
menu="zmi_views" title="ProfileAnnotation"
>
<widget field="birthday" class="ng.schema.dropdowndatewidget.dropdowndatewidget.DropDownDateWidget" />
</editform>


* Thu Feb 12 2009 Andrey Orlov <dbdt@dreambot.ru> 0.0.6
- Widget multiselectwidget added;

* Thu Oct 23 2008 Andrey Orlov <dbdt@dreambot.ru> 0.0.5
- FloatDayTime enhanced
- InterfaceVocabulary use docstring as title now
- FloatDayTime field substantively rewrited, max, min, default values support added;
- Interface switcher fields changed: them display doc-string as title now.

* Mon Oct 20 2008 Andrey Orlov <dbdt@dreambot.ru> 0.0.4
- DropdownDate widget added;
- PrincipalId widget added;

* Sun Jan 11 2008 Andrey Orlov <dbdt@dreambot.ru> 0.0.3
- FloatDayTime field added
- InterfaceSet field added
- Initial interface of vocabulary changed

* Wed Nov 7 2007 Andrey Orlov <dbdt@dreambot.ru> 0.0.2
- first official release

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ng.schema-0.0.6.tar.gz (13.0 kB view details)

Uploaded Source

File details

Details for the file ng.schema-0.0.6.tar.gz.

File metadata

  • Download URL: ng.schema-0.0.6.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ng.schema-0.0.6.tar.gz
Algorithm Hash digest
SHA256 a5f84b83c6be0f94bfcbbae01370971cc6b4830716a39b1cd361616b2fce4438
MD5 6023047ad97cb38e4b0445d9b72b49e3
BLAKE2b-256 b5422bbb416b5fa135533845b55dee8e1b16b1b08c97324409a2710ff4b86700

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.6 This release

1 file

0.0.5

1 file

0.0.3

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page