class ISyndicationSettings(Interface): max_items = schema.Int( title="Maximum items", description="Maximum number of items that will be syndicated.", default=15, ) sort_on = schema.Choice( title="Sort on", default="creation_date", source=AppSettingSource( "syndication.sort_on", missing=[ ["creation_date", "Publication Date"], ["effective_date", "Publication Date"], ["modification_date", "Modification Date"], ], ), ) sort_reverse = schema.Bool(title="Reverse sort", description="Order items in reverse order", default=True) categories = schema.List( title="Categories", description="(not used with all feed types)", value_type=schema.TextLine(), default=[], required=False, missing_value=[], )
class IUser(IFolder, IPrincipal): username = schema.TextLine(title=_("Username"), required=False) index_field("email", index_name="user_email", type="keyword") email = schema.TextLine(title=_("Email"), required=False) index_field("name", index_name="user_name", type="textkeyword") name = schema.TextLine(title=_("Name"), required=False) read_permission(password="******") password = schema.TextLine(title=_("Password"), required=False) write_permission(user_groups="guillotina.ManageUsers") user_groups = schema.List(title=_("Groups"), value_type=schema.TextLine(), required=False) write_permission(user_roles="guillotina.ManageUsers") index_field("user_roles", type="textkeyword") user_roles = schema.List(title=_("Roles"), value_type=schema.TextLine(), required=False) write_permission(user_permissions="guillotina.ManageUsers") user_permissions = schema.List( title=_("Permissions"), value_type=schema.TextLine(), required=False, default=[] ) write_permission(disabled="guillotina.ManageUsers") disabled = schema.Bool(title=_("Disabled"), default=False) properties = schema.Dict(required=False, default={})
class ISegmentEffort(IItem): metadata("id_strava") index_field("id_strava", type="text") id_strava = schema.TextLine(title="Strava id") metadata("name") index_field("name", type="text") name = schema.TextLine(title="Name") metadata("activity") index_field("activity", type="text") activity = schema.TextLine(title="Activity") metadata("segment") index_field("segment", type="text") segment = schema.TextLine(title="Segment") metadata("elapsed_time") index_field("elapsed_time", type="int") elapsed_time = schema.Int(title="Elapsed time") metadata("moving_time") index_field("moving_time", type="int") moving_time = schema.Int(title="Moving time") metadata("start_date") index_field("start_date", type="date") start_date = schema.Datetime(title="Start date") metadata("start_date_local") index_field("start_date_local", type="date") start_date_local = schema.Datetime(title="Start date local") metadata("distance") index_field("distance", type="float") distance = schema.Float(title="Distance") start_index = schema.Float(title="Start index") end_index = schema.Float(title="End index") metadata("average_cadence") index_field("average_cadence", type="float") average_cadence = schema.Float(title="Average cadence") metadata("average_heartrate") index_field("average_heartrate", type="float") average_heartrate = schema.Float(title="Average heartrate") metadata("max_heartrate") index_field("max_heartrate", type="int") max_heartrate = schema.Int(title="Max heartrate") metadata("device_watts") index_field("device_watts", type="boolean") device_watts = schema.Bool(title="Device watts") metadata("average_watts") index_field("average_watts", type="float") average_watts = schema.Float(title="Average watts")
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), (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 = get_multi_adapter((field, container, dummy_request), interface=ISchemaFieldSerializeToJson) assert isinstance(adapter, klass)
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())
class ICMSBehavior(Interface): index_field("is_folderish", store=True, type="boolean") is_folderish = schema.Bool(title="Is a folderish object", readonly=True) index_field("hidden_navigation", store=True, type="boolean") fieldset("hidden_navigation", "settings") hidden_navigation = schema.Bool(title="Should be hidden on navigation", required=False, default=False) index_field("language", store=True, type="keyword") fieldset("language", "categorization") language = schema.Choice(title="Language", required=False, source="languages") index_field("content_layout", store=True, type="keyword") fieldset("content_layout", "settings") content_layout = schema.Choice( title="Content Layout", required=False, source="content_layouts", default="default", ) fieldset("allow_discussion", "settings") allow_discussion = schema.Bool(title="Allow discussion", required=False, default=False) # not absolute positioning, just a relative positioning # based on ordered numbers. It won't be numbers like 1,2,3,4,5,etc index_field("position_in_parent", type="int") position_in_parent = schema.Int(title="Position in parent", default=-1, required=False) comments = schema.Dict( title="Comments list field", required=False, key_type=schema.TextLine(title="CommentID"), value_type=schema.JSONField(title="Comment", schema=DISCUSSION_SCHEMA), )
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)
class IFollowing(Interface): index_field("favorites", type="keyword", store=True) read_permission(favorites="guillotina.") write_permission(favorites="guillotina.NoBody") favorites = schema.List(title=u"favorites", default=[], value_type=schema.TextLine(title="follower")) favorite = schema.Bool(title=u"Current user has it favorited", default=False)
class IFollowing(Interface): index_field('favorites', type='keyword', store=True) read_permission(favorites='guillotina.') write_permission(favorites='guillotina.NoBody') favorites = schema.List(title=u'favorites', default=[], value_type=schema.TextLine(title='follower')) favorite = schema.Bool(title=u'Current user has it favorited', default=False)
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": {} })
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 )
class IUser(IFolder, IPrincipal): username = schema.TextLine( title=_('Username'), required=False) email = schema.TextLine( title=_('Email'), required=False) name = schema.TextLine( title=_('Name'), required=False) read_permission(password='******') password = schema.TextLine( title=_('Password'), required=False) user_groups = schema.List( title=_('Groups'), value_type=schema.TextLine(), required=False ) user_roles = schema.List( title=_('Roles'), value_type=schema.TextLine(), required=False ) user_permissions = schema.List( title=_('Permissions'), value_type=schema.TextLine(), required=False, default=[] ) disabled = schema.Bool( title=_('Disabled'), default=False ) properties = schema.Dict( required=False, default={} )
class ILap(IItem): id_strava = schema.TextLine(title="Strava id") name = schema.TextLine(title="Name") elapsed_time = schema.Int(title="Elapsed time") moving_time = schema.Int(title="Moving time") start_date = schema.Datetime(title="Start date") start_date_local = schema.Datetime(title="Start date local") distance = schema.Float(title="Distance") start_index = schema.Float(title="Start index") end_index = schema.Float(title="End index") total_elevation_gain = schema.Int(title="Total elevation gain") average_speed = schema.Float(title="Averge speed") max_speed = schema.Float(title="Max speed") average_cadence = schema.Float(title="Average cadence") average_watts = schema.Float(title="Average watts") device_watts = schema.Bool(title="Device watts")
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': {} }) )
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() )
class ITestingRegistryUpdated(Interface): # pylint: disable=E0239 enabled = schema.Bool( title="Example attribute") test = schema.Bool( title="Example attribute")
class ITestingRegistry(Interface): enabled = schema.Bool( title="Example attribute")
class IActivity(IFolder): metadata("id_strava") index_field("id_strava", type="text") id_strava = schema.TextLine(title="Strava id") metadata("name") index_field("name", type="text") name = schema.TextLine(title="Name") metadata("distance") index_field("distance", type="float") distance = schema.Int(title="Distance") metadata("moving_time") index_field("moving_time", type="int") moving_time = schema.Int(title="Moving time") elapsed_time = schema.Int(title="Elapsed time") metadata("total_elevation_gain") index_field("total_elevation_gain", type="int") total_elevation_gain = schema.Int(title="Total elevation gain") metadata("type_activity") index_field("type_activity", type="text") type_activity = schema.TextLine(title="Type") # Pass to vocabulary metadata("start_date") index_field("start_date", type="date") start_date = schema.Datetime(title="Start date") start_date_local = schema.Datetime(title="Start date local") timezone = schema.TextLine(title="Timezone") utc_offset = schema.Int(title="Utc offset") metadata("average_speed") index_field("average_speed", type="float") average_speed = schema.Float(title="Averge speed") metadata("max_speed") index_field("max_speed", type="float") max_speed = schema.Float(title="Max speed") metadata("average_cadence") index_field("average_cadence", type="float") average_cadence = schema.Float(title="Average cadence") metadata("average_watts") index_field("average_watts", type="float") average_watts = schema.Float(title="Average watts") metadata("weighted_average_watts") index_field("weighted_average_watts", type="float") weighted_average_watts = schema.Float(title="Weighted average watts") metadata("kilojoules") index_field("kilojoules", type="float") kilojoules = schema.Float(title="Kilojoules") metadata("device_watts") index_field("device_watts", type="boolean") device_watts = schema.Bool(title="Device watts") metadata("max_watts") index_field("max_watts", type="float") max_watts = schema.Float(title="Max watts") metadata("average_heartrate") index_field("average_heartrate", type="float") average_heartrate = schema.Float(title="Average heartrate") metadata("max_heartrate") index_field("max_heartrate", type="int") max_heartrate = schema.Int(title="Max heartrate") elev_high = schema.Float(title="Elev high") elev_low = schema.Float(title="Elev low") calories = schema.Float(title="Calories")