Example #1
0
def list_studios():
    studio_serializer = JSONSerializer(Studio)
    query = Studio.query.limit(request.args.get('limit')).order_by(Studio.slug)

    squack()

    return jsonify(sanitize(studio_serializer.serialize(query)))
Example #2
0
def list_medias():
    media_serializer = JSONSerializer(Media)
    query = Media.query

    if request.args.get('fulltext'):
        fulltext = request.args.get('fulltext')
        wrapped_fulltext = u'%{}%'.format(fulltext)
        query = query.filter(or_(Media.title.ilike(wrapped_fulltext), Media.artist.ilike(wrapped_fulltext),
                                 Media.album.ilike(wrapped_fulltext), Media.filename.ilike(wrapped_fulltext)))

    sort = request.args.get('sort', 'title')
    desc = sort[0] == "-"
    sort = sort.lstrip('-')

    column = getattr(Media, sort, None)

    if column:
        if desc:
            query = query.order_by(column.desc().nullslast())
        else:
            query = query.order_by(column.asc().nullslast())
    else:
        return jsonify({"error": "bad_argument"}), 400

    if request.args.get('limit'):
        query = query.limit(int(request.args.get('limit')))
    else:
        query = query.limit(10)

    if request.args.get('offset'):
        query = query.offset(int(request.args.get('offset')))

    return jsonify(sanitize(media_serializer.serialize(query)))
Example #3
0
def list_studios():
    studio_serializer = JSONSerializer(Studio)
    query = Studio.query.limit(request.args.get('limit')).order_by(Studio.slug)

    squack()

    return jsonify(sanitize(studio_serializer.serialize(query)))
Example #4
0
def show_medias(media_id):
    media_serializer = JSONSerializer(Media)
    media = Media.query.get(media_id)

    if media:
        return jsonify(sanitize(media_serializer.serialize(media)))
    else:
        return jsonify({"error": "not_found"}), 404
Example #5
0
def show_studio(studio_id):
    studio_serializer = JSONSerializer(Studio)
    studio = Studio.query.get(studio_id)

    if studio:
        return jsonify(sanitize(studio_serializer.serialize(studio)))
    else:
        return jsonify({"error": "not_found"}), 404
Example #6
0
def show_studio(studio_id):
    studio_serializer = JSONSerializer(Studio)
    studio = Studio.query.get(studio_id)

    if studio:
        return jsonify(sanitize(studio_serializer.serialize(studio)))
    else:
        return jsonify({"error": "not_found"}), 404
Example #7
0
def show_actions(action_id):
    action_serializer = JSONSerializer(Action)
    action = Action.query.get(action_id)

    if action:
        return jsonify(sanitize(action_serializer.serialize(action)))
    else:
        return jsonify({"error": "not_found"}), 404
Example #8
0
def show_medias(media_id):
    media_serializer = JSONSerializer(Media)
    media = Media.query.get(media_id)

    if media:
        return jsonify(sanitize(media_serializer.serialize(media)))
    else:
        return jsonify({"error": "not_found"}), 404
Example #9
0
def show_actions(action_id):
    action_serializer = JSONSerializer(Action)
    action = Action.query.get(action_id)

    if action:
        return jsonify(sanitize(action_serializer.serialize(action)))
    else:
        return jsonify({"error": "not_found"}), 404
Example #10
0
def show_playlist(playlist_id):
    playlist_serializer = JSONSerializer(Playlist)
    playlist = Playlist.query.get(playlist_id)

    if playlist is not None:
        sideloaded = ["elements", "elements.media", "elements.action"]
        return jsonify(sanitize(playlist_serializer.serialize(playlist, include=sideloaded)))
    else:
        return jsonify({"error": "not_found"}), 404
Example #11
0
def show_playlist(playlist_id):
    playlist_serializer = JSONSerializer(Playlist)
    playlist = Playlist.query.get(playlist_id)

    if playlist is not None:
        sideloaded = ["elements", "elements.media", "elements.action"]
        return jsonify(
            sanitize(
                playlist_serializer.serialize(playlist, include=sideloaded)))
    else:
        return jsonify({"error": "not_found"}), 404
Example #12
0
def list_medias():
    media_serializer = JSONSerializer(Media)
    query = Media.query

    if request.args.get('fulltext'):
        fulltext = request.args.get('fulltext')
        wrapped_fulltext = u'%{}%'.format(fulltext)
        query = query.filter(
            or_(Media.title.ilike(wrapped_fulltext),
                Media.artist.ilike(wrapped_fulltext),
                Media.album.ilike(wrapped_fulltext),
                Media.filename.ilike(wrapped_fulltext)))

    sort = request.args.get('sort', 'title')
    desc = sort[0] == "-"
    sort = sort.lstrip('-')

    column = getattr(Media, sort, None)

    if column:
        if desc:
            query = query.order_by(column.desc().nullslast())
        else:
            query = query.order_by(column.asc().nullslast())
    else:
        return jsonify({"error": "bad_argument"}), 400

    if request.args.get('limit'):
        query = query.limit(int(request.args.get('limit')))
    else:
        query = query.limit(10)

    if request.args.get('offset'):
        query = query.offset(int(request.args.get('offset')))

    return jsonify(sanitize(media_serializer.serialize(query)))
Example #13
0
def list_playlists():
    playlist_serializer = JSONSerializer(Playlist)
    query = Playlist.query.limit(request.args.get('limit'))
    return jsonify(sanitize(playlist_serializer.serialize(query, include=[])))
Example #14
0
def list_actions():
    action_serializer = JSONSerializer(Action)
    query = Action.query.limit(request.args.get('limit'))

    return jsonify(sanitize(action_serializer.serialize(query)))
Example #15
0
def list_playlist_element():
    playlist_element_serializer = JSONSerializer(PlaylistElement)
    query = PlaylistElement.query.limit(request.args.get('limit'))
    return jsonify(sanitize(playlist_element_serializer.serialize(query)))
Example #16
0
def list_playlist_element():
    playlist_element_serializer = JSONSerializer(PlaylistElement)
    query = PlaylistElement.query.limit(request.args.get('limit'))
    return jsonify(sanitize(playlist_element_serializer.serialize(query)))
Example #17
0
def list_playlists():
    playlist_serializer = JSONSerializer(Playlist)
    query = Playlist.query.limit(request.args.get('limit'))
    return jsonify(sanitize(playlist_serializer.serialize(query, include=[])))
Example #18
0
def list_actions():
    action_serializer = JSONSerializer(Action)
    query = Action.query.limit(request.args.get('limit'))

    return jsonify(sanitize(action_serializer.serialize(query)))