Ejemplo n.º 1
0
class IExample(IResource):

    metadata('categories')

    index_field('boolean_field', type='boolean')
    boolean_field = schema.Bool(required=False)

    index_field('categories', field_mapping=CATEGORIES_MAPPING)
    categories = schema.List(title='categories',
                             default=[],
                             value_type=schema.JSONField(title='term',
                                                         schema=TERM_SCHEMA))

    textline_field = schema.TextLine(title='kk',
                                     widget='testing',
                                     required=False)
    text_field = schema.Text(required=False)
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine(),
                             required=False)
    datetime = schema.Datetime(required=False)

    write_permission(write_protected='example.MyPermission')
    write_protected = schema.TextLine(
        title='Write protected field',
        required=False,
    )

    default_factory_test = schema.Text(defaultFactory=lambda: 'foobar')

    context_default_factory_test = schema.Text(
        defaultFactory=ContextDefaultFactory())
Ejemplo n.º 2
0
class IExample(IResource):

    metadata("categories")

    index_field("boolean_field", type="boolean")
    boolean_field = schema.Bool(required=False)

    index_field("categories", field_mapping=CATEGORIES_MAPPING)
    categories = schema.List(title="categories",
                             default=[],
                             value_type=schema.JSONField(title="term",
                                                         schema=TERM_SCHEMA))

    textline_field = schema.TextLine(title="kk",
                                     widget="testing",
                                     required=False)
    text_field = schema.Text(required=False)
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine(),
                             required=False)
    datetime = schema.Datetime(required=False)
    jsonfield_value = schema.JSONField(schema={"type": "array"},
                                       required=False)
    write_permission(write_protected="example.MyPermission")
    write_protected = schema.TextLine(title="Write protected field",
                                      required=False)

    default_factory_test = schema.Text(defaultFactory=lambda: "foobar")

    context_default_factory_test = schema.Text(
        defaultFactory=ContextDefaultFactory())
Ejemplo n.º 3
0
class IDublinCore(Interface):
    index_field('creators', type='keyword')
    index_field('tags', type='keyword')
    index_field('contributors', type='keyword')

    title = schema.TextLine(
        title=u'Title',
        description=u"The first unqualified Dublin Core 'Title' element value.",
        required=False)

    description = schema.Text(
        title=u'Description',
        description=u"The first unqualified Dublin Core 'Description' element value.",
        required=False)

    creation_date = schema.Datetime(
        title=u'Creation Date',
        description=u"The date and time that an object is created. "
                    u"\nThis is normally set automatically.",
        required=False)

    modification_date = schema.Datetime(
        title=u'Modification Date',
        description=u"The date and time that the object was last modified in a\n"
                    u"meaningful way.",
        required=False)

    effective_date = schema.Datetime(
        title=u'Effective Date',
        description=u"The date and time that an object should be published. ",
        required=False)

    expiration_date = schema.Datetime(
        title=u'Expiration Date',
        description=u"The date and time that the object should become unpublished.",
        required=False)

    creators = schema.Tuple(
        title=u'Creators',
        description=u"The unqualified Dublin Core 'Creator' element values",
        value_type=schema.TextLine(),
        required=False)

    tags = schema.Tuple(
        title=u'Tags',
        description=u"The unqualified Dublin Core 'Tags' element values",
        value_type=schema.TextLine(),
        required=False)

    publisher = schema.Text(
        title=u'Publisher',
        description=u"The first unqualified Dublin Core 'Publisher' element value.",
        required=False)

    contributors = schema.Tuple(
        title=u'Contributors',
        description=u"The unqualified Dublin Core 'Contributor' element values",
        value_type=schema.TextLine(),
        required=False)
Ejemplo n.º 4
0
class IDynamicType(Interface):
    '''
    Used to dynamicly bind data to validate
    new values against
    '''
    date = schema.Datetime(required=False)
    text = schema.Text(required=False)
    integer = schema.Int(required=False)
    float = schema.Float(required=False)
    boolean = schema.Bool(required=False)
    keyword = schema.Text(required=False)
Ejemplo n.º 5
0
class IPatientIndex(interfaces.IItem):
    text = schema.Text()
    first_name = schema.Text()
    last_name = schema.Text()
    middle_names = schema.List(value_type=schema.Text())
    date_of_birth = schema.Date()
    addresses = schema.List(value_type=schema.Dict(key_type=schema.Text(),
                                                   value_type=schema.Text()))
    activities = schema.List(value_type=schema.Dict(
        key_type=schema.Text(), value_type=schema.Text()), )
    id_data = schema.List(value_type=schema.Dict(key_type=schema.Text(),
                                                 value_type=schema.Text()))
Ejemplo n.º 6
0
class ITestBehavior(Interface):
    foobar = schema.TextLine(required=False)
    foobar_context = schema.TextLine(required=False, default="default-foobar")

    bucket_dict = fields.BucketDictField(bucket_len=10,
                                         required=False,
                                         default=None,
                                         key_type=schema.Text(),
                                         value_type=schema.Text())

    read_permission(no_read_field="example.MyPermission")
    no_read_field = schema.TextLine(required=False, default="")
Ejemplo n.º 7
0
class IFieldType(Interface):
    title = schema.Text()
    description = schema.Text()
    type = schema.Choice(
        values=["date", "integer", "text", "float", "keyword", "boolean"],
        required=True)
    required = schema.Bool(default=False)
    meta = schema.JSONField(title="Additional information on field",
                            required=False,
                            schema={
                                "type": "object",
                                "properties": {}
                            })
Ejemplo n.º 8
0
class IDynamicType(Interface):
    """
    Used to dynamicly bind data to validate
    new values against
    """

    date = schema.Datetime(required=False)
    text = schema.Text(required=False)
    integer = schema.Int(required=False)
    float = schema.Float(required=False)
    boolean = schema.Bool(required=False)
    keyword = schema.UnionField(
        schema.List(required=False, value_type=schema.Text()), schema.Text(required=False), required=False
    )
Ejemplo n.º 9
0
def test_all(dummy_request):
    mapping = [
        (schema.Object(schema=IResource),
         serialize_schema_field.DefaultSchemaFieldSerializer),
        (schema.Text(),
         serialize_schema_field.DefaultTextSchemaFieldSerializer),
        (schema.TextLine(),
         serialize_schema_field.DefaultTextLineSchemaFieldSerializer),
        (schema.Float(),
         serialize_schema_field.DefaultFloatSchemaFieldSerializer),
        (schema.Int(), serialize_schema_field.DefaultIntSchemaFieldSerializer),
        (schema.Bool(),
         serialize_schema_field.DefaultBoolSchemaFieldSerializer),
        (schema.List(),
         serialize_schema_field.DefaultCollectionSchemaFieldSerializer),
        (schema.Choice(values=('one', 'two')),
         serialize_schema_field.DefaultChoiceSchemaFieldSerializer),
        (schema.Object(schema=IResource),
         serialize_schema_field.DefaultObjectSchemaFieldSerializer),
        (RichText(),
         serialize_schema_field.DefaultRichTextSchemaFieldSerializer),
        (schema.Date(),
         serialize_schema_field.DefaultDateSchemaFieldSerializer),
        (schema.Time(),
         serialize_schema_field.DefaultTimeSchemaFieldSerializer),
        (schema.Dict(),
         serialize_schema_field.DefaultDictSchemaFieldSerializer),
        (schema.Datetime(),
         serialize_schema_field.DefaultDateTimeSchemaFieldSerializer),
    ]
    container = Container()
    for field, klass in mapping:
        adapter = getMultiAdapter((field, container, dummy_request),
                                  interface=ISchemaFieldSerializeToJson)
        assert isinstance(adapter, klass)
Ejemplo n.º 10
0
class ITileType(Interface):
    """A utility that describes a type of tile
    """
    __name__ = schema.DottedName(title='Tile name (same as utility name)')
    title = schema.TextLine(title=u'Title')
    description = schema.Text(title=u'Description', required=False)
    icon = schema.Text(title=u'Icon', required=False)
    add_permission = schema.Id(title=u'Zope 3 IPermission utility name')
    schema = schema.Object(
        title=u'Tile schema',
        description='Describes configurable data for this tile and allows a '
        'form to be rendered to edit it. Set to None if the tile '
        'has no configurable schema',
        schema=Interface,
        required=False,
    )
Ejemplo n.º 11
0
class IBehavior(Interface):
    """A description of a behavior. These should be registered as named
    utilities. There should also be an adapter factory registered, probably
    using IBehaviorAdapterFactory.
    """

    title = schema.TextLine(title=u'Short title of the behavior',
                            required=True)

    description = schema.Text(title=u'Longer description of the behavior',
                              required=False)

    name = schema.TextLine(
        title=u'Readable short name to be used for behavior lookup',
        description=u'E.g. plone.somebehavior. If not given the full dotted '
        u'name of the interfaces is used for lookup instead.'
        u'Recommended, but due to BBB not required.',
        required=False)

    interface = schema.Object(title=u'Interface describing this behavior',
                              required=True,
                              schema=IInterface)

    marker = schema.Object(
        title=u'Marker interface for objects sporting this behavior',
        description=u'Markers are persisted in the database. '
        u'Required when a factory is given, because the factory '
        u'is an adapter adapting the the marker and providing the '
        u'"interface" of this behavior.',
        required=False,
        schema=IInterface)

    factory = schema.Object(title=u'An adapter factory for the behavior',
                            required=True,
                            schema=Interface)
Ejemplo n.º 12
0
class IDynamicFields(Interface):
    fields = fields.PatchField(schema.Dict(
        key_type=schema.Text(),
        value_type=schema.Object(
            schema=IFieldType
        )
    ))
Ejemplo n.º 13
0
class IDynamicFields(Interface):
    fields = fields.PatchField(
        schema.Dict(
            key_type=schema.Text(),
            value_type=schema.Object(schema=IFieldType),
            required=True,
            max_length=1000,
        ))
Ejemplo n.º 14
0
class INotification(Interface):

    #the type of the notification: EMAIL or SIMPLE
    not_type = schema.TextLine()

    recipientId = schema.Text()
    email_recipient = schema.TextLine()

    #title
    subject = schema.Text()
    message = schema.Text()

    #the name of the application that call the send.py
    application_name = schema.Text()

    #the status of the notification: NOTIFIED or NOT_NOTIFIED
    status = schema.Text()
Ejemplo n.º 15
0
class IBlockType(Interface):
    """A utility that describes a type of block
    """

    __name__ = schema.DottedName(title="Block name (same as utility name)")
    title = schema.TextLine(title=u"Title")
    description = schema.Text(title=u"Description", required=False)
    icon = schema.Text(title=u"Icon", required=False)
    add_permission = schema.Id(title=u"Zope 3 IPermission utility name")
    schema = schema.Object(
        title=u"Block schema",
        description="Describes configurable data for this block and allows a "
        "form to be rendered to edit it. Set to None if the block "
        "has no configurable schema",
        schema=Interface,
        required=False,
    )
Ejemplo n.º 16
0
class IFieldType(Interface):
    title = schema.Text(required=False)
    description = schema.Text(required=False)
    type = schema.Choice(
        values=['date', 'integer', 'text', 'float', 'keyword', 'boolean']
    )
    required = schema.Bool(
        default=False,
        required=False
    )
    meta = schema.JSONField(
        title="Additional information on field",
        required=False,
        schema=json.dumps({
            'type': 'object',
            'properties': {}
        })
    )
Ejemplo n.º 17
0
class IMenu(Interface):

    definition = schema.JSONField(title="Menu definition",
                                  required=False,
                                  schema=MENU_LAYOUT,
                                  defaultFactory=list)

    logo = schema.Text(title="Logo",
                       required=False,
                       defaultFactory=get_default_logo)
Ejemplo n.º 18
0
class IRichTextValue(Interface):
    """The value actually stored in a RichText field.
    This stores the following values on the parent object
      - A separate persistent object with the original value
      - A cache of the value transformed to the default output type
    The object is immutable.
    """

    raw = schema.Text(
        title=_(u"Raw value in the original MIME type"),
        readonly=True,
    )

    mimeType = schema.ASCIILine(
        title=_(u"MIME type"),
        readonly=True,
    )

    outputMimeType = schema.ASCIILine(
        title=_(u"Default output MIME type"),
        readonly=True,
    )

    encoding = schema.ASCIILine(
        title=_(u"Default encoding for the value"),
        description=_(u"Mainly used internally"),
        readonly=True,
    )

    raw_encoded = schema.ASCII(
        title=_(u"Get the raw value as an encoded string"),
        description=_(u"Mainly used internally"),
        readonly=True,
    )

    output = schema.Text(
        title=_(u"Transformed value in the target MIME type"),
        description=_(u"May be None if the transform cannot be completed"),
        readonly=True,
        required=False,
        missing_value=None,
    )
Ejemplo n.º 19
0
class ITestValidation(Interface):

    foo = schema.Text(required=False)
    bar = schema.Text(required=False)

    constrained = schema.Text(required=False,
                              constraint=lambda val: val != "foobar")

    validated_text = schema.Text(required=False)

    @zope.interface.invariant  # type: ignore
    def text_should_not_be_foobar(ob):
        if getattr(ob, "foo", None) == "foo" and getattr(ob, "bar",
                                                         None) == "bar":
            raise Invalid(ob)

    @validated_text.validator
    def validate_not_foo(field, value):
        if getattr(field.context, "foo", None) == "foo" and value == "foo":
            raise Invalid("Must not be foo")
Ejemplo n.º 20
0
class IValidationSettings(Interface):

    site_url = schema.Text(
        title="Public frontend site url",
        description="Full url without tailing /",
        default="http://*****:*****@@validation")

    site_mails_from = schema.Text(title="Site mails from",
                                  description="Orig email to send mails",
                                  default="*****@*****.**")
Ejemplo n.º 21
0
class IExample(IResource):

    metadata('categories')

    index('categories', type='nested')
    categories = schema.List(title='categories',
                             default=[],
                             value_type=schema.JSONField(title='term',
                                                         schema=TERM_SCHEMA))

    textline_field = schema.TextLine()
    text_field = schema.Text()
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine())
    datetime = schema.Datetime()
Ejemplo n.º 22
0
class IExample(IResource):

    metadata('categories')

    index_field('categories', type='nested')
    categories = schema.List(title='categories',
                             default=[],
                             value_type=schema.JSONField(title='term',
                                                         schema=TERM_SCHEMA))

    textline_field = schema.TextLine(title='kk',
                                     widget='testing',
                                     required=False)
    text_field = schema.Text(required=False)
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine(),
                             required=False)
    datetime = schema.Datetime(required=False)
Ejemplo n.º 23
0
class ITestSchema(Interface):

    text = schema.TextLine(required=False)
    integer = schema.Int(required=False)
    floating = schema.Float(required=False)
    list_of_text = schema.List(value_type=schema.TextLine(), required=False)
    tuple_of_text = schema.Tuple(value_type=schema.TextLine(), required=False)
    set_of_text = schema.Set(value_type=schema.TextLine(), required=False)
    frozenset_of_text = schema.FrozenSet(value_type=schema.TextLine(),
                                         required=False)
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine(),
                             required=False)
    datetime = schema.Datetime(required=False)
    date = schema.Date(required=False)
    time = schema.Time(required=False)

    patch_list = fields.PatchField(
        schema.List(value_type=schema.Dict(key_type=schema.Text(),
                                           value_type=schema.Text()),
                    required=False))
    patch_dict = fields.PatchField(schema.Dict(key_type=schema.Text(),
                                               value_type=schema.Text()),
                                   required=False)

    bucket_list = fields.BucketListField(bucket_len=10,
                                         required=False,
                                         value_type=schema.Dict(
                                             key_type=schema.Text(),
                                             value_type=schema.Text()))

    datetime_bucket_list = fields.BucketListField(bucket_len=10,
                                                  required=False,
                                                  value_type=schema.Datetime())

    nested_patch = fields.PatchField(
        schema.Dict(required=False,
                    key_type=schema.Text(),
                    value_type=fields.PatchField(
                        schema.List(value_type=schema.Object(
                            schema=INestFieldSchema)))))
Ejemplo n.º 24
0
class ITestSchema(Interface):

    text = schema.TextLine(required=False)
    integer = schema.Int(required=False)
    floating = schema.Float(required=False)
    list_of_text = schema.List(value_type=schema.TextLine(), required=False)
    tuple_of_text = schema.Tuple(value_type=schema.TextLine(), required=False)
    set_of_text = schema.Set(value_type=schema.TextLine(), required=False)
    frozenset_of_text = schema.FrozenSet(value_type=schema.TextLine(),
                                         required=False)
    dict_value = schema.Dict(key_type=schema.TextLine(),
                             value_type=schema.TextLine(),
                             required=False)
    datetime = schema.Datetime(required=False)
    date = schema.Date(required=False)
    time = schema.Time(required=False)

    patch_list = fields.PatchField(
        schema.List(value_type=schema.Dict(key_type=schema.Text(),
                                           value_type=schema.Text()),
                    required=False))
    patch_list_int = fields.PatchField(
        schema.List(value_type=schema.Int(), required=False))
    patch_dict = fields.PatchField(schema.Dict(key_type=schema.Text(),
                                               value_type=schema.Text()),
                                   required=False)

    patch_int = fields.PatchField(schema.Int(default=22), required=False)

    patch_int_no_default = fields.PatchField(schema.Int(), required=False)

    bucket_list = fields.BucketListField(
        bucket_len=10,
        required=False,
        value_type=schema.Dict(key_type=schema.Text(),
                               value_type=schema.Text()),
    )

    datetime_bucket_list = fields.BucketListField(bucket_len=10,
                                                  required=False,
                                                  value_type=schema.Datetime())

    union_field = schema.UnionField(schema.Datetime(),
                                    schema.Int(),
                                    required=False)
    union_field_obj = schema.UnionField(schema.Object(IObjectA),
                                        schema.Object(schema=IObjectB),
                                        required=False)

    nested_patch = fields.PatchField(
        schema.Dict(
            required=False,
            key_type=schema.Text(),
            value_type=fields.PatchField(
                schema.List(value_type=schema.Object(
                    schema=INestFieldSchema))),
        ))

    dict_of_obj = schema.Dict(
        required=False,
        key_type=schema.Text(),
        value_type=schema.Object(schema=INestFieldSchema))

    patch_dict_of_obj = fields.PatchField(
        schema.Dict(required=False,
                    key_type=schema.Text(),
                    value_type=schema.Object(schema=INestFieldSchema)))

    patch_tuple = fields.PatchField(
        schema.Tuple(required=False,
                     value_type=schema.Text(schema=INestFieldSchema)))

    bucket_dict = fields.BucketDictField(bucket_len=10,
                                         required=False,
                                         key_type=schema.Text(),
                                         value_type=schema.Text())
Ejemplo n.º 25
0
class IRichTextFieldSchema(Interface):
    """Rich text field schema"""

    content_type = schema.ASCII(title="Content type")
    data = schema.Text(title="Real data")
    encoding = schema.ASCII(title="Get the real encoding")
Ejemplo n.º 26
0
class INestFieldSchema(Interface):
    foo = schema.Text(required=False)
    bar = schema.Int(required=False)
    foobar_list = schema.List(required=False, value_type=schema.Text())
    nested_int = fields.PatchField(schema.Int(required=False))
Ejemplo n.º 27
0
class IObjectB(Interface):
    bar = schema.Text(required=False)
Ejemplo n.º 28
0
class IObjectA(Interface):
    foo = schema.Text(required=False)
Ejemplo n.º 29
0
 class IMyBehavior2(Interface):
     foobar = schema.Text()
Ejemplo n.º 30
0
class IDublinCore(Interface):
    index_field("creators", type="keyword")
    index_field("tags", type="keyword")
    index_field("contributors", type="keyword")

    title = schema.TextLine(
        title="Title", description="The first unqualified Dublin Core 'Title' element value."
    )

    description = schema.Text(
        title="Description", description="The first unqualified Dublin Core 'Description' element value."
    )

    creation_date = schema.Datetime(
        title="Creation Date",
        description="The date and time that an object is created. " "\nThis is normally set automatically.",
    )

    modification_date = schema.Datetime(
        title="Modification Date",
        description="The date and time that the object was last modified in a\n" "meaningful way.",
    )

    effective_date = schema.Datetime(
        title="Effective Date", description="The date and time that an object should be published. "
    )

    expiration_date = schema.Datetime(
        title="Expiration Date", description="The date and time that the object should become unpublished."
    )

    creators = schema.Tuple(
        title="Creators",
        description="The unqualified Dublin Core 'Creator' element values",
        value_type=schema.TextLine(),
        required=False,
        naive=True,
        max_length=1000,
    )

    tags = PatchField(
        schema.Tuple(
            title="Tags",
            description="The unqualified Dublin Core 'Tags' element values",
            value_type=schema.TextLine(),
            required=False,
            naive=True,
            max_length=10000,
        )
    )

    publisher = schema.Text(
        title="Publisher", description="The first unqualified Dublin Core 'Publisher' element value."
    )

    contributors = schema.Tuple(
        title="Contributors",
        description="The unqualified Dublin Core 'Contributor' element values",
        value_type=schema.TextLine(),
        required=False,
        naive=True,
        max_length=10000,
    )