class BaseResourceForm(ModelForm): title = fields.StringField(_('Title'), [validators.DataRequired()]) description = fields.MarkdownField(_('Description')) filetype = fields.RadioField( _('File type'), [validators.DataRequired()], choices=list(RESOURCE_FILETYPES.items()), default='file', description=_('Whether the resource is an uploaded file, ' 'a remote file or an API')) type = fields.RadioField( _('Type'), [validators.DataRequired()], choices=list(RESOURCE_TYPES.items()), default='other', description=_('Resource type (documentation, API...)')) url = fields.UploadableURLField( _('URL'), [validators.DataRequired(), enforce_filetype_file], storage=resources) format = fields.StringField( _('Format'), filters=[normalize_format], ) checksum = fields.FormField(ChecksumForm) mime = fields.StringField(_('Mime type'), description=_( 'The mime type associated to the extension. ' '(ex: text/plain)')) filesize = fields.IntegerField(_('Size'), [validators.optional()], description=_('The file size in bytes')) published = fields.DateTimeField( _('Publication date'), description=_('The publication date of the resource')) extras = fields.ExtrasField()
class DatasetForm(ModelForm): model_class = Dataset title = fields.StringField(_('Title'), [validators.required()]) description = fields.MarkdownField( _('Description'), [validators.required()], description=_('The details about the dataset ' '(collection process, specifics...).')) license = fields.ModelSelectField(_('License'), model=License, allow_blank=True) frequency = fields.SelectField( _('Update frequency'), choices=UPDATE_FREQUENCIES.items(), default=DEFAULT_FREQUENCY, validators=[validators.optional()], description=_('The frequency at which data are updated.')) frequency_date = fields.DateTimeField(_('Expected frequency date')) temporal_coverage = fields.DateRangeField( _('Temporal coverage'), description=_('The period covered by the data')) spatial = SpatialCoverageField( _('Spatial coverage'), description=_('The geographical area covered by the data.')) tags = fields.TagField(_('Tags'), description=_('Some taxonomy keywords')) private = fields.BooleanField( _('Private'), description=_('Restrict the dataset visibility to you or ' 'your organization only.')) owner = fields.CurrentUserField() organization = fields.PublishAsField(_('Publish as')) extras = fields.ExtrasField(extras=Dataset.extras) resources = fields.NestedModelList(ResourceForm)
class ResourceForm(ModelForm): model_class = Resource title = fields.StringField(_('Title'), [validators.required()]) description = fields.MarkdownField(_('Description')) type = fields.RadioField( _('Type'), [validators.required()], choices=RESOURCE_TYPES.items(), default='file', description=_('Whether the resource is an uploaded file, ' 'a remote file or an API')) url = fields.UploadableURLField( _('URL'), [validators.required()], storage=resources) format = fields.StringField( _('Format'), widget=widgets.FormatAutocompleter()) checksum = ChecksumField(_('Checksum')) mime = fields.StringField( _('Mime type'), description=_('The mime type associated to the extension. ' '(ex: text/plain)')) size = fields.IntegerField( _('Size'), [validators.optional()], description=_('The file size in bytes')) published = fields.DateTimeField( _('Publication date'), description=_('The publication date of the resource'))