Пример #1
0
    def put(self, request, *args, **kwargs):
        base_dir = ".temp/"
        try:
            serializer = FileUploadSerializer(data=request.data)
            if serializer.is_valid():
                file_name = request.data['name']
                file_data = request.data['data']['data']
                file_path = base_dir + file_name
                file = open(file_path, 'wb')
                file.write(bytes(bytearray(file_data)))
                file.close()

                file_storage = FileStorage()
                files = file_storage.get_file_list_in_specific_folder(
                    request.user.email)

                remove_file = ""

                for f in files:
                    if f['title'] == file_name:
                        remove_file = f
                        break

                if remove_file != "":
                    print(remove_file['id'])
                    file_storage.delete_file_by_id(remove_file['id'])
                    file_storage.upload_file_with_path_in_specific_folder(
                        file_path, request.user.email)

                    if os.path.exists(file_path):
                        os.remove(file_path)

                        return JsonResponse({'message': request.data},
                                            status=status.HTTP_200_OK)
                    else:
                        return JsonResponse(
                            {'message': "Service unavaible"},
                            status=status.HTTP_503_SERVICE_UNAVAILABLE)
                else:
                    return JsonResponse(
                        {'message': "Service unavaible"},
                        status=status.HTTP_503_SERVICE_UNAVAILABLE)

            return JsonResponse({'message': "Request's data is wrong"},
                                status=status.HTTP_401_UNAUTHORIZED)
        except:
            JsonResponse(
                {
                    'error_message': "Somethings Error",
                    'errors_code': 400,
                },
                status=status.HTTP_402_PAYMENT_REQUIRED)
Пример #2
0
    def delete(self, request, *args, **kwargs):
        try:
            serializer = FileRemoveSerializer(data=request.data)
            if serializer.is_valid():
                file_name = request.data['name']

                file_storage = FileStorage()
                files = file_storage.get_file_list_in_specific_folder(
                    request.user.email + "@" + "data")

                remove_file = ""

                for f in files:
                    if f['title'] == file_name:
                        remove_file = f
                        break

                if remove_file != "":
                    file_storage.delete_file_by_id(remove_file['id'])

                    return JsonResponse({'message': request.data},
                                        status=status.HTTP_200_OK)
                else:
                    return JsonResponse(
                        {'message': "Service unavaible"},
                        status=status.HTTP_503_SERVICE_UNAVAILABLE)

            return JsonResponse({'message': "Request's data is wrong"},
                                status=status.HTTP_401_UNAUTHORIZED)
        except:
            JsonResponse(
                {
                    'error_message': "Somethings Error",
                    'errors_code': 400,
                },
                status=status.HTTP_402_PAYMENT_REQUIRED)