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.

Summary

How It Works

  1. Run Pre-Commit Hooks: The PreCommitToHTML 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_html

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

Project Structure

  • pre_commit_html/__main__.py: Contains the main function to run the pre-commit formatter.
  • pre_commit_html/__init__.py: Contains the PreCommitToHTML 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.5.tar.gz (7.0 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.5-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pre_commit_html-0.1.5.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pre_commit_html-0.1.5.tar.gz
Algorithm Hash digest
SHA256 700abaeb0bd433197f3c612d2f5768b8f3f4bdaf1695a085286d3e3ef77843ec
MD5 8c15ddab93ac80575594ef22b71be8c9
BLAKE2b-256 4e5db4539934c6225cc732bf277d9ca9ee881c6b954aede439ca6bf4f79c724e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pre_commit_html-0.1.5.tar.gz:

Publisher: python-publish.yml on Robotz213/pre_commit_html

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for pre_commit_html-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b2d7d778dd554f014e1e0adbf5861caf1c623e79e4c7dfd733be007907a00878
MD5 1a790ead1f610cb736329f7110558b3e
BLAKE2b-256 947ab9be51ee0a9510293b20334f548bb8eb241646ebaaef0a514c886cbebcf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pre_commit_html-0.1.5-py3-none-any.whl:

Publisher: python-publish.yml on Robotz213/pre_commit_html

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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