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")
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)
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())
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())
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)
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 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 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)))))
class ITestSchema(Interface): text = schema.TextLine() integer = schema.Int() floating = schema.Float() list_of_text = schema.List(value_type=schema.TextLine()) tuple_of_text = schema.Tuple(value_type=schema.TextLine()) set_of_text = schema.Set(value_type=schema.TextLine()) frozenset_of_text = schema.FrozenSet(value_type=schema.TextLine()) dict_value = schema.Dict(key_type=schema.TextLine(), value_type=schema.TextLine()) datetime = schema.Datetime() date = schema.Date() time = schema.Time()
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 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()
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)
class IURL(interfaces.IItem): # The URL we check url = schema.TextLine() # Timestamp of the last visit last_visited = schema.Datetime() # Last status returned: 200, 404, etc. status = schema.Int() # Reason of status: OK, Not Found, etc. reason = schema.TextLine() # Group (page) the url is from group = schema.TextLine() # Mode of URL (internal, external, ...) mode = schema.Int()
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())
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, )
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")