Example #1
0
def get_result_file_response(result, request):
    matchdict = request.matchdict
    folder_name = matchdict['folder_name']
    if folder_name not in ('x', 'y'):
        raise HTTPForbidden
    data_folder = request.data_folder
    result_folder = result.get_folder(data_folder)
    file_folder = join(result_folder, folder_name)
    try:
        file_path = resolve_relative_path(matchdict['path'], file_folder)
    except IOError:
        raise HTTPNotFound
    if not exists(file_path):
        raise HTTPNotFound
    return FileResponse(file_path, request=request)
Example #2
0
def show_result_file(request):
    settings = request.registry.settings
    data_folder = settings['data.folder']
    result_id = request.matchdict['id']
    target_folder = join(data_folder, 'results', result_id, 'response')
    try:
        result_file_path = resolve_relative_path(
            request.matchdict['path'], target_folder)
    except IOError:
        raise HTTPForbidden
    if basename(result_file_path) in EXCLUDED_FILE_NAMES:
        raise HTTPForbidden
    if not exists(result_file_path):
        raise HTTPNotFound
    return FileResponse(result_file_path, request=request)
Example #3
0
def get_result_file_response(result, request):
    matchdict = request.matchdict
    folder_name = matchdict['folder_name']
    if folder_name not in ('x', 'y'):
        raise HTTPForbidden
    data_folder = request.data_folder
    result_folder = result.get_folder(data_folder)
    file_folder = join(result_folder, folder_name)
    try:
        file_path = resolve_relative_path(matchdict['path'], file_folder)
    except IOError:
        raise HTTPNotFound
    if not exists(file_path):
        raise HTTPNotFound
    return FileResponse(file_path, request=request)
Example #4
0
 def get_file_path(self, result_id, folder_name, path):
     result = Result(id=result_id)
     result_folder = result.get_folder(self.data_folder)
     parent_folder = join(result_folder, folder_name)
     return resolve_relative_path(path, parent_folder)
 def get_folder(self, data_folder):
     parent_folder = self.get_parent_folder(data_folder)
     return resolve_relative_path(str(self.id), parent_folder)
Example #6
0
 def get_file_path(self, result_id, folder_name, path):
     result = Result(id=result_id)
     result_folder = result.get_folder(self.data_folder)
     parent_folder = join(result_folder, folder_name)
     return resolve_relative_path(path, parent_folder)