예제 #1
0
파일: db.py 프로젝트: hs3812/Project_-mLab
def __logs_to_report_html(host, language):
    """
    generate HTML report with d3_tree_v2_graph for a host

    Args:
        host: the host
        language: language

    Returns:
        HTML report
    """
    session = create_connection(language)
    try:
        logs = []
        logs_data = session.query(HostsLog).filter(HostsLog.host == host).all()
        for log in logs_data:
            data = {
                "SCAN_ID": log.scan_id,
                "HOST": host,
                "USERNAME": log.username,
                "PASSWORD": log.password,
                "PORT": log.port,
                "TYPE": log.type,
                "TIME": log.date,
                "DESCRIPTION": log.description
            }
            logs.append(data)
        from core.log import build_graph
        if compatible.version() is 2:
            import sys
            reload(sys)
            sys.setdefaultencoding('utf8')
        _graph = build_graph("d3_tree_v2_graph", "en", logs, 'HOST',
                             'USERNAME', 'PASSWORD', 'PORT', 'TYPE',
                             'DESCRIPTION')
        from lib.html_log import _log_data
        _table = _log_data.table_title.format(_graph, _log_data.css_1, 'HOST',
                                              'USERNAME', 'PASSWORD', 'PORT',
                                              'TYPE', 'DESCRIPTION', 'TIME')
        for value in logs:
            _table += _log_data.table_items.format(
                value['HOST'], value['USERNAME'], value['PASSWORD'],
                value['PORT'], value['TYPE'], value['DESCRIPTION'],
                value['TIME'])
        _table += _log_data.table_end + '<p class="footer">' + messages("en", "nettacker_report") \
            .format(compatible.__version__, compatible.__code_name__, now()) + '</p>'
        return _table
    except Exception as _:
        return ""
예제 #2
0
def __logs_to_report_html(host, language):
    """
    generate HTML report with d3_tree_v2_graph for a host

    Args:
        host: the host
        language: language

    Returns:
        HTML report
    """
    try:
        logs = []
        for log in send_read_query(
                "select host,username,password,port,type,date,description from hosts_log where host=\"{0}\""
                .format(host), language):
            data = {
                "SCAN_ID": host,
                "HOST": log[0],
                "USERNAME": log[1],
                "PASSWORD": log[2],
                "PORT": log[3],
                "TYPE": log[4],
                "TIME": log[5],
                "DESCRIPTION": log[6]
            }
            logs.append(data)
        from core.log import build_graph
        if compatible.version() is 2:
            import sys
            reload(sys)
            sys.setdefaultencoding('utf8')
        _graph = build_graph("d3_tree_v2_graph", "en", logs, 'HOST',
                             'USERNAME', 'PASSWORD', 'PORT', 'TYPE',
                             'DESCRIPTION')
        from lib.html_log import _log_data
        _table = _log_data.table_title.format(_graph, _log_data.css_1, 'HOST',
                                              'USERNAME', 'PASSWORD', 'PORT',
                                              'TYPE', 'DESCRIPTION', 'TIME')
        for value in logs:
            _table += _log_data.table_items.format(
                value['HOST'], value['USERNAME'], value['PASSWORD'],
                value['PORT'], value['TYPE'], value['DESCRIPTION'],
                value['TIME'])
        _table += _log_data.table_end + '<p class="footer">' + messages("en", "nettacker_report") \
            .format(compatible.__version__, compatible.__code_name__, now()) + '</p>'
        return _table
    except:
        return ""