guillotina.configure¶
- guillotina.configure.scan(path)¶
Load a module dotted name.
- Parameters:
path (
str) -- dotted name
- guillotina.configure.json_schema_definition(name, schema)¶
Register a json schema definition
- Parameters:
name (
str) -- Name of schemaschema (
dict) -- schema definition, must be json compatible
- Return type:
None
- guillotina.configure.service(**kwargs)¶
Configure a service
>>> from guillotina import configure >>> @configure.service(name='@foobar') async def foobar_service(context, request): return {'foo': 'bar'}
- Parameters:
context (Interface) -- Content type interface this service is registered against
method (str) -- HTTP method this service works against. Defaults to GET.
permission (str) -- Permission this service requires
layer (str) -- Layer this service is registered for. Default is IDefaultLayer
name -- This is used as part of the uri. Example @foobar -> /mycontent/@foobar.
summary -- Used for documentation and OpenAPI.
description -- Used for documentation and OpenAPI.
responses -- Used for documentation and OpenAPI.
parameters -- Used for documentation and OpenAPI.
requestBody -- Used for documentation and OpenAPI
validate -- Automatically validate request body with OpenAPI definition
- guillotina.configure.contenttype(**kwargs)¶
Configure content type
>>> from guillotina import configure >>> from guillotina.content import Item >>> @configure.contenttype(type_name="Foobar") class Foobar(Item): pass
- Parameters:
type_name (str) -- Name of the content type
schema (str) -- Schema to use for content type
add_permission (str) -- Permission required to add content. Defaults to guillotina.AddContent
allowed_types (list) -- List of types allowed to be added inside this content assuming it is a Folder type. Defaults to allowing all types.
behaviors (str) -- List of behaviors to enable for this type.
factory -- Dotted name to custom factory to use. See guillotina.content.ResourceFactory for default implementation
- guillotina.configure.behavior(**kwargs)¶
Configure behavior
>>> from guillotina import configure >>> from guillotina.behaviors.instance import ContextBehavior >>> class IMyBehavior(Interface): pass >>> @configure.behavior( title="Dublin Core fields", provides=IMyBehavior, for_="guillotina.interfaces.IResource") class MyBehavior(ContextBehavior): pass
- Parameters:
title -- Title of behavior
provides -- Schema to use for behavior
behavior -- Marker interface to apply to utilized instance's behavior
for_ -- Content type this behavior is available for
- guillotina.configure.vocabulary(**kwargs)¶
Configure vocabulary
>>> from guillotina import configure >>> @configure.vocabulary(name="myvocab") class MyVocab: def __init__(self, context): self.context = context self.values = range(10) def __iter__(self): return iter([]) def __contains__(self, value): return value in self.values def __len__(self): return len(self.values) def getTerm(self, value): return 'value'
- Parameters:
name -- Reference of the vocabulary to get it
- guillotina.configure.addon(**kwargs)¶
Configure addon
>>> from guillotina import configure >>> @configure.addon( name="docaddon", title="Doc addon", dependencies=["cms"]) class TestAddon(Addon): pass
- Parameters:
name -- Unique name of addon
title -- Title of addon
dependencies -- List of names of dependency addons
- guillotina.configure.adapter(**kwargs)¶
Configure adapter
- Parameters:
for_ -- Type or list of types this subscriber is for: required
provides -- Interface this adapter provides
- guillotina.configure.utility(**kwargs)¶
Configure utility
- Parameters:
provides -- Interface this utility provides
name -- Optional to name the utility
- guillotina.configure.permission(**kwargs)¶
Configure permission
- Parameters:
id
title
description
- guillotina.configure.role(**kwargs)¶
Configure role
- Parameters:
id
title
description
local (bool) -- defaults to True
- guillotina.configure.grant(**kwargs)¶
Configure granting permission to role
- Parameters:
role
principal
permission
permissions
- guillotina.configure.value_serializer(type)¶
Configure a value serializer
>>> @configure.value_serializer(bytes) >>> def bytes_converter(value): return b64encode(value)
- Parameters:
type -- type to serialize
- guillotina.configure.value_deserializer(field_type)¶
Configure a value deserializer
>>> @configure.value_deserializer(IText) >>> def field_converter(field, value, context): return value
- Parameters:
field_type -- type of field to deserialize
- guillotina.configure.renderer(**kwargs)¶
Configure a renderer
>>> @configure.renderer(name='text/plain') >>> class RendererPlain(StringRenderer): content_type = 'text/plain'
- Parameters:
name -- content type the renderer can be used for
- guillotina.configure.language(name)¶
Configure a language
>>> @configure.language(name='en') >>> class EN(DefaultLanguage): pass
- Parameters:
name -- Name of language