コード例 #1
0
def upload_view(request):

    # get the messages to clear possible previous unprocessed messages
    get_messages_array(request)

    if request.method != 'POST':
        return HttpResponse(status=405)

    valid, error, user = api_authenticate(request)
    if not valid:
        return error

    result = handler.upload(request, user)

    if result['result'] == constants.UPLOAD_MEDIA_STATUS_SUCCESS:
        media = result['media']

        return JsonResponse(
            {
                'digest': media.md5,
                'length': media.length,
                'filesize': media.get_filesize(),
                'download_url': request.build_absolute_uri(media.file.url)
            },
            status=201)
    else:
        response = {'messages': result['errors']}
        return JsonResponse(response, status=400)
コード例 #2
0
def get_view(request, digest):
    get_messages_array(request)

    media = get_object_or_404(UploadedMedia, md5=digest)

    resp_obj = {'digest': media.md5,
                'filesize': media.get_filesize(),
                'download_url': request.build_absolute_uri(media.file.url),
                'length': media.length,
                'title': media.title,
                'organisation': media.organisation,
                'license': media.license}
    return JsonResponse(resp_obj, status=200)
コード例 #3
0
ファイル: media.py プロジェクト: dememan/django-oppia
def get_view(request, digest):
    get_messages_array(request)

    media = get_object_or_404(UploadedMedia, md5=digest)

    embed_code = media.get_embed_code(
        request.build_absolute_uri(media.file.url))
    resp_obj = {
        'embed_code': embed_code,
        'digest': media.md5,
        'filesize': media.get_filesize(),
        'download_url': request.build_absolute_uri(media.file.url)
    }
    return JsonResponse(resp_obj, status=200)
コード例 #4
0
def api_authenticate(request):
    required = ['username', 'password']

    validation_errors = []

    for field in required:
        if field not in request.POST:
            validation_errors.append("field '{0}' missing".format(field))

    if len(validation_errors) > 0:
        return False, \
            JsonResponse({'errors': validation_errors}, status=400), \
            None

    # authenticate user
    username = request.POST.get("username")
    password = request.POST.get("password")

    user = authenticate(username=username, password=password)
    if user is None or not user.is_active:
        messages.error(request, "Invalid username/password")
        response_data = {
            'message': _('Authentication errors'),
            'messages': get_messages_array(request)
        }
        return False, JsonResponse(response_data, status=401), None
    else:
        return True, None, user
コード例 #5
0
ファイル: media.py プロジェクト: zbidi/django-oppia
def upload_view(request):

    # get the messages to clear possible previous unprocessed messages
    get_messages_array(request)

    if request.method != 'POST':
        return HttpResponse(status=405)

    required = ['username', 'password']

    validation_errors = []

    for field in required:
        if field not in request.POST:
            validation_errors.append("field '{0}' missing".format(field))

    if len(validation_errors) > 0:
        return JsonResponse({'errors': validation_errors}, status=400)

    # authenticate user
    username = request.POST.get("username")
    password = request.POST.get("password")

    user = authenticate(username=username, password=password)
    if user is None or not user.is_active:
        messages.error(request, "Invalid username/password")
        response_data = {
            'message': _('Authentication errors'),
            'messages': get_messages_array(request)
        }
        return JsonResponse(response_data, status=401)

    result = handler.upload(request, user)

    if result['result'] == UploadedMedia.UPLOAD_STATUS_SUCCESS:
        media = result['media']
        embed_code = media.get_embed_code(
            request.build_absolute_uri(media.file.url))

        return JsonResponse({'embed_code': embed_code}, status=201)
    else:
        response = {'messages': result['errors']}
        return JsonResponse(response, status=400)
コード例 #6
0
ファイル: media.py プロジェクト: DigitalCampus/django-oppia
def upload_view(request):

    # get the messages to clear possible previous unprocessed messages
    get_messages_array(request)

    if request.method != 'POST':
        return HttpResponse(status=405)

    required = ['username', 'password']

    validation_errors = []

    for field in required:
        if field not in request.POST:
            validation_errors.append("field '{0}' missing".format(field))

    if len(validation_errors) > 0:
        return JsonResponse({'errors': validation_errors}, status=400 )
    
    # authenticate user
    username = request.POST.get("username")
    password = request.POST.get("password")

    user = authenticate(username=username, password=password)
    if user is None or not user.is_active:
        messages.error(request, "Invalid username/password")
        response_data = {
            'message': _('Authentication errors'),
            'messages': get_messages_array(request)
        }
        return JsonResponse(response_data, status=401)

    result = handler.upload(request, user)

    if result['result'] == UploadedMedia.UPLOAD_STATUS_SUCCESS:
        media = result['media']
        embed_code = media.get_embed_code(request.build_absolute_uri(media.file.url))

        return JsonResponse({'embed_code': embed_code}, status=201)
    else:
        response = {'messages': result['errors']}
        return JsonResponse(response, status=400)