'Get movies by list ID'

@etag
@api.response(NotFoundError)
@api.response(200, model=return_movies_schema)
@api.doc(params={u'list_id': u'ID    of    the    list'}, parser=movies_parser)
def get(self, list_id, session=None):

    args = movies_parser.parse_args()
    page = args[u'page']
    per_page = args[u'per_page']
    sort_by = args[u'sort_by']
    sort_order = args[u'order']
    start = (per_page * (page - 1))
    stop = (start + per_page)
    descending = (sort_order == u'desc')
    kwargs = {u'start': start, u'stop': stop, u'list_id': list_id, u'order_by': sort_by, u'descending': descending, u'session': session}
    try:
        list = ml.get_list_by_id(list_id=list_id, session=session)
    except NoResultFound:
        raise NotFoundError((u'list_id    %d    does    not    exist' % list_id))
    total_items = list.movies.count()
    if (not total_items):
        return jsonify([])
    movies = [movie.to_dict() for movie in ml.get_movies_by_list_id(**kwargs)]
    total_pages = int(ceil((total_items / float(per_page))))
    if (page > total_pages):
        raise NotFoundError((u'page    %s    does    not    exist' % page))
    actual_size = min(len(movies), per_page)
    pagination = pagination_headers(total_pages, total_items, actual_size, request)
    rsp = jsonify(movies)
    rsp.headers.extend(pagination)
    return rsp
