Skip to main content

Parses compilers' outputs to retrieve warnings

Project description

warnings-parser

Library to transform an output from a compiler to a dict to be easily output it in a json format.
It supports any compilers using the standard file_path:line:column: warning: message [category] format such as:

  • gcc
  • clang
  • clang-tidy
  • cppcheck with --template='{file}:{line}:{column}: warning: {message} [{id}]'

Install

pip install warning-parser

Usage

usage example to generate bitbucket annotations:

from warning_parser import get_warnings

warnings = get_warnings("/path/to/gcc_output.txt", "gcc")
warnings = warnings.union(get_warnings("/path/to/clang_output.txt", "clang"))

json_data = []
for w in warnings:

    if warning.get_severity() == "error":
        severity = "HIGH"
    else:
        severity = "MEDIUM"


    json_data.append(
    {
        "message": f"{w.get_tool()}:{w.get_line()}:{w.get_column()}: {w.get_severity()}: {w.get_message()} [{w.get_category()}]",
        "severity": severity,
        "path": w.get_filepath(),
        "line": w.get_line(),
    })

# ... upload annotations ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

warning-parser-1.0.0.tar.gz (2.9 kB view hashes)

Uploaded Source

Built Distribution

warning_parser-1.0.0-py3-none-any.whl (3.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page