Beispiel #1
0
def logfile_view(request, logfile_id, template_name='logfile.html'):
    """Returns a list of Log File content parsed by main regexp"""
    page = request.GET.get('page')
    if not page:
        page = 1
    else:
        try:
            page = int(page)
        except ValueError:
            page = 1
            pass

    manager = LogFilesManager()
    files_list = manager.list_logfiles(LOG_FILES_DIR)
    try:
        filename = files_list[int(logfile_id)]
    except Exception:
        return HttpResponseBadRequest()
    logfile = os.path.join(LOG_FILES_DIR, files_list[int(logfile_id)])
    log_file_object = manager.get_file(logfile)
    fake_log_file_lines = manager.get_file_lines_count(log_file_object)
    paginator = Paginator(fake_log_file_lines, LOG_FILES_PAGINATE_LINES)
    paginated_lines = paginator.page(page)
    first_line = paginated_lines.object_list[0]
    current_file_dict = manager.parse_log_file(logfile, first_line)
    paginated_lines.object_list = current_file_dict
    header_list = manager.compile_header_from_regexp()
    context = {
            'header_list': header_list,
            'file_name': filename,
            'file_id': logfile_id,
            'paginator': paginated_lines,
            'page': page,
    }
    return render_to_response(template_name, context)
Beispiel #2
0
def logfile_view(request, logfile_id, template_name='logfile.html'):
    """Returns a list of Log File content parsed by main regexp"""
    page = request.GET.get('page')
    if not page:
        page = 1
    else:
        try:
            page = int(page)
        except ValueError:
            page = 1
            pass

    manager = LogFilesManager()
    files_list = manager.list_logfiles(LOG_FILES_DIR)
    try:
        filename = files_list[int(logfile_id)]
    except Exception:
        return HttpResponseBadRequest()
    logfile = os.path.join(LOG_FILES_DIR, files_list[int(logfile_id)])
    log_file_object = manager.get_file(logfile)
    fake_log_file_lines = manager.get_file_lines_count(log_file_object)
    paginator = Paginator(fake_log_file_lines, LOG_FILES_PAGINATE_LINES)
    paginated_lines = paginator.page(page)
    first_line = paginated_lines.object_list[0]
    current_file_dict = manager.parse_log_file(logfile, first_line)
    paginated_lines.object_list = current_file_dict
    header_list = manager.compile_header_from_regexp()
    context = {
        'header_list': header_list,
        'file_name': filename,
        'file_id': logfile_id,
        'paginator': paginated_lines,
        'page': page,
    }
    return render_to_response(template_name, context)