Пример #1
0
    def get(self, request, *args, **kwargs):
        base_dir = ".temp/"
        file_id = kwargs['file_id']
        file_id = '0' * (6 - len(str(file_id))) + str(file_id)

        file_storage = FileStorage()

        files = file_storage.get_files_by_title_in_specific_folder(
            "map.json", request.user.email)
        if len(files) == 0:
            return JsonResponse({'message': "Service unavaible"},
                                status=status.HTTP_503_SERVICE_UNAVAILABLE)

        map_json_content = json.loads(file_storage.get_content_file(files[0]))

        if file_id not in map_json_content['files']:
            return JsonResponse({'message': "File is not found"},
                                status=status.HTTP_400_BAD_REQUEST)

        file_name = map_json_content['files'][file_id]['name']
        file_name = file_id + file_name + '.aes'

        files = file_storage.get_files_by_title(file_name)
        if len(files) == 0:
            return JsonResponse({'message': "Service unavaible"},
                                status=status.HTTP_503_SERVICE_UNAVAILABLE)
        file_storage.download_file(files[0], base_dir + file_name)

        f = open(base_dir + file_name, 'rb')
        data = f.read()
        f.close()

        return JsonResponse(
            {
                'message': {
                    'type': 'Buffer',
                    'data': list(bytearray(data)),
                    'name': file_name,
                    'map_data': map_json_content['files'][file_id]
                }
            },
            status=status.HTTP_200_OK)
Пример #2
0
    def get(self, request, *args, **kwargs):
        base_dir = ".temp/"
        file_name = "map.json"

        file_storage = FileStorage()

        files = file_storage.get_files_by_title_in_specific_folder(
            file_name, request.user.email)
        if len(files) == 0:
            return JsonResponse({'message': "Service unavaible"},
                                status=status.HTTP_503_SERVICE_UNAVAILABLE)

        file_storage.download_file(files[0], base_dir + file_name)

        f = open(base_dir + file_name, 'rb')
        data = f.read()
        f.close()

        return JsonResponse(
            {'message': {
                'type': 'Buffer',
                'data': list(bytearray(data)),
            }},
            status=status.HTTP_200_OK)