예제 #1
0
 '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':
예제 #2
0
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'),
예제 #3
0
파일: api.py 프로젝트: ThomasG77/udata
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),
예제 #4
0
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),
예제 #5
0

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'),
예제 #6
0
        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),
예제 #7
0
파일: api.py 프로젝트: rfResearch/udata
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')
예제 #8
0
        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':
예제 #9
0
# -*- 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)
예제 #10
0
                 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,
예제 #11
0
파일: api_fields.py 프로젝트: grouan/udata
 '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),