Esempio n. 1
0
def song_variant_request(request):
    ex = AppException(EVENTS.REQUEST_EXCEPTION, 422)

    if 'title' not in request or not request['title']:
        ex.add_error(EXCODES.MISSING_FIELD,
                     STRINGS.REQUEST_VARIANT_TITLE_MISSING, 'title')
    if 'text' not in request or not request['text']:
        ex.add_error(EXCODES.MISSING_FIELD,
                     STRINGS.REQUEST_VARIANT_TEXT_MISSING, 'text')
    if 'description' not in request:
        ex.add_error(EXCODES.MISSING_FIELD,
                     STRINGS.REQUEST_VARIANT_DESCRIPTION_MISSING,
                     'description')

    if ex.errors:
        raise ex

    data = {
        'title': request['title'],
        'text': request['text'],
        'description': request['description']
    }
    if 'visibility' in request:
        data['visibility'] = request['visibility']

    return data
Esempio n. 2
0
def songbooks_request(request):
    ex = AppException(EVENTS.REQUEST_EXCEPTION, 422)

    if 'title' not in request or not request['title']:
        ex.add_error(EXCODES.MISSING_FIELD,
                     STRINGS.REQUEST_SONGBOOK_TITLE_MISSING, 'title')
    if 'options' not in request:
        ex.add_error(EXCODES.MISSING_FIELD,
                     STRINGS.REQUEST_SONGBOOK_OPTIONS_MISSING, 'options')
    if 'songs' not in request:
        ex.add_error(EXCODES.MISSING_FIELD,
                     STRINGS.REQUEST_SONGBOOK_SONGS_MISSING, 'songs')

    if ex.errors:
        raise ex

    return {
        'title': request['title'],
        'options': request['options'],
        'songs': request['songs']
    }
Esempio n. 3
0
def songs_request(request):
    ex = AppException(EVENTS.REQUEST_EXCEPTION, 422)

    if 'title' not in request or not request['title']:
        ex.add_error(EXCODES.MISSING_FIELD, STRINGS.REQUEST_SONG_TITLE_MISSING,
                     'title')
    if 'authors' not in request:
        ex.add_error(EXCODES.MISSING_FIELD,
                     STRINGS.REQUEST_SONG_AUTHORS_MISSING, 'authors')
    if 'interpreters' not in request:
        ex.add_error(EXCODES.MISSING_FIELD,
            STRINGS.REQUEST_SONG_INTERPRETERS_MISSING, 'interpreters') # yapf: disable

    if ex.errors:
        raise ex

    data = {
        'title': request['title'],
        'authors': request['authors'],
        'interpreters': request['interpreters']
    }

    return data
Esempio n. 4
0
def songs_extended_request(request):
    ex = AppException(EVENTS.REQUEST_EXCEPTION, 422)

    if 'title' not in request or not request['title']:
        ex.add_error(EXCODES.MISSING_FIELD, STRINGS.REQUEST_SONG_TITLE_MISSING,
                     'title')
    if 'authors' not in request:
        ex.add_error(EXCODES.MISSING_FIELD,
                     STRINGS.REQUEST_SONG_AUTHORS_MISSING, 'authors')
    if 'interpreters' not in request:
        ex.add_error(EXCODES.MISSING_FIELD,
            STRINGS.REQUEST_SONG_INTERPRETERS_MISSING, 'interpreters') # yapf: disable
    if 'variant' not in request:
        ex.add_error(EXCODES.MISSING_FIELD,
                     STRINGS.REQUEST_SONG_VARIANT_MISSING, 'variant')
    else:
        if 'title' not in request['variant'] or not request['variant']['title']:
            ex.add_error(EXCODES.MISSING_FIELD,
                         STRINGS.REQUEST_VARIANT_TITLE_MISSING,
                         'variant/title')
        if 'text' not in request['variant'] or not request['variant']['text']:
            ex.add_error(EXCODES.MISSING_FIELD,
                         STRINGS.REQUEST_VARIANT_TEXT_MISSING, 'variant/text')
        if 'description' not in request['variant']:
            ex.add_error(EXCODES.MISSING_FIELD,
                STRINGS.REQUEST_VARIANT_DESCRIPTION_MISSING, 'variant/description') # yapf: disable

    if ex.errors:
        raise ex

    data = {
        'title': request['title'],
        'authors': request['authors'],
        'interpreters': request['interpreters'],
        'variant': {
            'title': request['variant']['title'],
            'text': request['variant']['text'],
            'description': request['variant']['description']
        }
    }
    if 'visibility' in request['variant']:
        data['variant']['visibility'] = request['variant']['visibility']

    return data