Skip to main content

Format results from pre-commit cmd to HTML file

Project description

Pre-Commit Formatter

Portuguese version here(Link only works on the project page).

This project is designed to run pre-commit hooks and format the results into an HTML file for easy viewing.

How It Works

  1. Run Pre-Commit Hooks: The PreCommitParser class runs the pre-commit hooks using the pre-commit run --all-files command.
  2. Parse Output: The output from the pre-commit hooks is parsed to extract relevant information such as file paths, line numbers, column numbers, and error messages.
  3. Generate HTML: The parsed information is then formatted into an HTML file using Jinja2 templates. The HTML file includes links to the relevant lines in the source code and references to the documentation for the errors.

Installation

To use this project, you need to have Python and pre-commit installed. You can install the required dependencies using pip:

poetry install

Usage

To run the pre-commit formatter, execute the following command:

python -m pre_commit_formatter

This will generate an HTML file named result_pre_commit.html in the project directory.

Project Structure

  • pre_commit_formatter/__main__.py: Contains the main function to run the pre-commit formatter.
  • pre_commit_formatter/__init__.py: Contains the PreCommitParser class which handles running the pre-commit hooks and formatting the output.
  • site/templates/: Contains the Jinja2 templates used to generate the HTML file.

Templates

The project uses Jinja2 templates to format the HTML output. The templates are located in the site/templates/ directory and include:

  • code_part.jinja: Template for formatting code parts.
  • code_error.jinja: Template for formatting code errors.
  • html_content.jinja: Template for the overall HTML content.

Example

Here is an example of how the HTML output might look:

<h3>File: <a href="./path/to/file.py:10:5">path/to/file.py:10:5</a></h3>
<p>
  Error: <a href="https://docs.astral.sh/ruff/rules/#E123">E123</a> Some error
  message
</p>
<pre>
    | Some code part |
</pre>

License

This project is licensed under the MIT License.

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

pre_commit_html-0.1.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pre_commit_html-0.1.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file pre_commit_html-0.1.0.tar.gz.

File metadata

  • Download URL: pre_commit_html-0.1.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.0 Windows/11

File hashes

Hashes for pre_commit_html-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3284a5d1c6323b36921917c46a5b15c93ec5e0c3307c7b42c4d9d4b2ef58a627
MD5 532f5bc6694af1b8946d23f8b7fedad5
BLAKE2b-256 abb317da37c8a0528f1120232879da41e68efc1e1b20d79eedcadfc9f4680d2a

See more details on using hashes here.

File details

Details for the file pre_commit_html-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pre_commit_html-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.0 Windows/11

File hashes

Hashes for pre_commit_html-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30e2951287b6d3b43db1141f617291b8fc7a632680fe15aae1f2fb0a555e2724
MD5 65f372088a2694f269f85a11c6ce2b10
BLAKE2b-256 5600f1a737262adafe0e9b77a1eda2ed612f968f2afac15de5cb36b382934e07

See more details on using hashes here.

Supported by

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