'tags': fields.List(fields.String, description='Some keywords to help in search'), 'badges': fields.List(fields.Nested(badge_fields), description='The reuse badges', readonly=True), 'topic': fields.String( description='The reuse topic', required=True, enum=list(REUSE_TOPICS)), 'featured': fields.Boolean(description='Is the reuse featured', readonly=True), 'private': fields.Boolean( description='Is the reuse private to the owner or the organization'), 'image': fields.ImageField( description='The reuse thumbnail thumbnail (cropped) URL'), 'image_thumbnail': fields.ImageField( attribute='image', size=BIGGEST_IMAGE_SIZE, description='The reuse thumbnail thumbnail URL. This is the square ' '({0}x{0}) and cropped version.'.format(BIGGEST_IMAGE_SIZE)), 'created_at': fields.ISODateTime(description='The reuse creation date', readonly=True), 'last_modified': fields.ISODateTime(description='The reuse last modification date', readonly=True), 'deleted': fields.ISODateTime(description='The organization identifier', readonly=True), 'datasets':
post_fields = api.model( 'Post', { 'id': fields.String(description='The post identifier'), 'name': fields.String(description='The post name', required=True), 'slug': fields.String(description='The post permalink string', readonly=True), 'headline': fields.String(description='The post headline', required=True), 'content': fields.Markdown(description='The post content in Markdown', required=True), 'image': fields.ImageField(description='The post image'), 'credit_to': fields.String( description='An optionnal credit line (associated to the image)'), 'credit_url': fields.String( description='An optionnal link associated to the credits'), 'tags': fields.List(fields.String, description='Some keywords to help in search'), 'datasets': fields.List(fields.Nested(dataset_ref_fields), description='The post datasets'), 'reuses': fields.List(fields.Nested(reuse_ref_fields), description='The post reuses'),
from .models import Post from .forms import PostForm ns = api.namespace('posts', 'Posts related operations') post_fields = api.model('Post', { 'id': fields.String(description='The post identifier'), 'name': fields.String(description='The post name', required=True), 'slug': fields.String( description='The post permalink string', readonly=True), 'headline': fields.String(description='The post headline', required=True), 'content': fields.Markdown( description='The post content in Markdown', required=True), 'image': fields.ImageField(description='The post image', readonly=True), 'credit_to': fields.String( description='An optional credit line (associated to the image)'), 'credit_url': fields.String( description='An optional link associated to the credits'), 'tags': fields.List( fields.String, description='Some keywords to help in search'), 'datasets': fields.List( fields.Nested(dataset_fields), description='The post datasets'), 'reuses': fields.List( fields.Nested(reuse_fields), description='The post reuses'), 'owner': fields.Nested( user_ref_fields, description='The owner user', readonly=True, allow_null=True),
from .models import ORG_ROLES, MEMBERSHIP_STATUS org_ref_fields = api.inherit('OrganizationReference', base_reference, { 'name': fields.String(description='The organization name', readonly=True), 'acronym': fields.String(description='The organization acronym'), 'uri': fields.UrlFor( 'api.organization', lambda o: {'org': o}, description='The organization API URI', readonly=True), 'slug': fields.String( description='The organization string used as permalink', required=True), 'page': fields.UrlFor( 'organizations.show', lambda o: {'org': o}, description='The organization web page URL', readonly=True), 'logo': fields.ImageField( size=100, description='The organization logo URL'), }) from udata.core.user.api_fields import user_ref_fields # noqa: required request_fields = api.model('MembershipRequest', { 'id': fields.String(readonly=True), 'user': fields.Nested(user_ref_fields), 'created': fields.ISODateTime( description='The request creation date', readonly=True), 'status': fields.String( description='The current request status', required=True, enum=MEMBERSHIP_STATUS.keys()), 'comment': fields.String( description='A request comment from the user', required=True),
user_ref_fields = api.inherit('UserReference', base_reference, { 'first_name': fields.String( description='The user first name', readonly=True), 'last_name': fields.String( description='The user larst name', readonly=True), 'slug': fields.String( description='The user permalink string', required=True), 'page': fields.UrlFor( 'users.show', lambda u: {'user': u}, description='The user profile page URL', readonly=True), 'uri': fields.UrlFor( 'api.user', lambda o: {'user': o}, description='The user API URI', required=True), 'avatar': fields.ImageField(size=100, description='The user avatar URL'), }) from udata.core.organization.api_fields import org_ref_fields user_fields = api.model('User', { 'id': fields.String( description='The user identifier', required=True), 'slug': fields.String( description='The user permalink string', required=True), 'first_name': fields.String( description='The user first name', required=True), 'last_name': fields.String( description='The user last name', required=True), 'avatar': fields.ImageField(description='The user avatar URL'),
fields.String(description='The organization acronym'), 'uri': fields.UrlFor('api.organization', lambda o: {'org': o}, description='The organization API URI', readonly=True), 'slug': fields.String(description='The organization string used as permalink', required=True), 'page': fields.UrlFor('organizations.show', lambda o: {'org': o}, description='The organization web page URL', readonly=True), 'logo': fields.ImageField(original=True, description='The organization logo URL'), 'logo_thumbnail': fields.ImageField( attribute='logo', size=BIGGEST_LOGO_SIZE, description= 'The organization logo thumbnail URL. This is the square ' '({0}x{0}) and cropped version.'.format(BIGGEST_LOGO_SIZE)), }) from udata.core.user.api_fields import user_ref_fields # noqa: required request_fields = api.model( 'MembershipRequest', { 'id': fields.String(readonly=True),
from udata.api import api, fields from . import utils, chunks META = 'meta.json' IMAGES_MIMETYPES = ('image/jpeg', 'image/png', 'image/webp') uploaded_image_fields = api.model( 'UploadedImage', { 'success': fields.Boolean(description='Whether the upload succeeded or not.', readonly=True, default=True), 'image': fields.ImageField(), }) chunk_status_fields = api.model('UploadStatus', { 'success': fields.Boolean, 'error': fields.String }) image_parser = api.parser() image_parser.add_argument('file', type=FileStorage, location='files') image_parser.add_argument('bbox', type=str, location='form') upload_parser = api.parser() upload_parser.add_argument('file', type=FileStorage, location='files') upload_parser.add_argument('uuid', type=str, location='form') upload_parser.add_argument('filename', type=str, location='form')
fields.String(description='The user larst name', readonly=True), 'slug': fields.String(description='The user permalink string', required=True), 'page': fields.UrlFor('users.show', lambda u: {'user': u}, description='The user profile page URL', readonly=True, fallback_endpoint='api.user'), 'uri': fields.UrlFor('api.user', lambda o: {'user': o}, description='The user API URI', required=True), 'avatar': fields.ImageField(original=True, description='The user avatar URL'), 'avatar_thumbnail': fields.ImageField( attribute='avatar', size=BIGGEST_AVATAR_SIZE, description='The user avatar thumbnail URL. This is the square ' '({0}x{0}) and cropped version.'.format(BIGGEST_AVATAR_SIZE)), }) from udata.core.organization.api_fields import org_ref_fields # noqa user_fields = api.model( 'User', { 'id': fields.String(description='The user identifier', required=True), 'slug':
# -*- coding: utf-8 -*- from __future__ import unicode_literals from werkzeug.datastructures import FileStorage from udata.api import api, fields uploaded_image_fields = api.model('UploadedImage', { 'success': fields.Boolean( description='Whether the upload succeeded or not.', readonly=True, default=True), 'image': fields.ImageField(), }) image_parser = api.parser() image_parser.add_argument('file', type=FileStorage, location='files') image_parser.add_argument('bbox', type=str, location='form') def parse_uploaded_image(field): '''Parse an uploaded image and save into a db.ImageField()''' args = image_parser.parse_args() image = args['file'] bbox = args.get('bbox', None) if bbox: bbox = [int(float(c)) for c in bbox.split(',')] field.save(image, bbox=bbox)
required=True), 'tags': fields.List(fields.String, description='Some keywords to help in search'), 'badges': fields.List(fields.Nested(badge_fields), description='The reuse badges', readonly=True), 'featured': fields.Boolean(description='Is the reuse featured', readonly=True), 'private': fields.Boolean( description='Is the reuse private to the owner or the organization' ), 'image': fields.ImageField(description='The reuse thumbnail'), 'created_at': fields.ISODateTime(description='The reuse creation date', readonly=True), 'last_modified': fields.ISODateTime(description='The reuse last modification date', readonly=True), 'deleted': fields.ISODateTime(description='The organization identifier', readonly=True), 'datasets': fields.List(fields.Nested(dataset_ref_fields), description='The reused datasets'), 'organization': fields.Nested(org_ref_fields, allow_null=True,
'type': fields.String( description='The reuse type', required=True, enum=REUSE_TYPES.keys()), 'url': fields.String( description='The reuse remote URL (website)', required=True), 'description': fields.Markdown( description='The reuse description in Markdown', required=True), 'tags': fields.List( fields.String, description='Some keywords to help in search'), 'badges': fields.List( fields.Nested(badge_fields, description='The reuse badges'), readonly=True), 'featured': fields.Boolean( description='Is the reuse featured', readonly=True), 'private': fields.Boolean( description='Is the reuse private to the owner or the organization'), 'image': fields.ImageField(description='The reuse thumbnail'), 'created_at': fields.ISODateTime( description='The reuse creation date', readonly=True), 'last_modified': fields.ISODateTime( description='The reuse last modification date', readonly=True), 'deleted': fields.ISODateTime( description='The organization identifier', readonly=True), 'datasets': fields.List( fields.Nested(dataset_ref_fields), description='The reused datasets'), 'organization': fields.Nested( org_ref_fields, allow_null=True, description='The publishing organization', readonly=True), 'owner': fields.Nested( user_ref_fields, description='The owner user', readonly=True, allow_null=True), 'metrics': fields.Raw(description='The reuse metrics', readonly=True),