[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/python/python-docs-es/3.12/scripts/check_spell.py [Back]  [Original]

"""
Script to check the spelling of one, many or all .po files based
on the custom dictionaries under the 'dictionaries/' directory.
"""

from pathlib import Path
import sys
import tempfile

import pospell


def check_spell(po_files=None):
    """
    Check spell in the given list of po_files and log the spell errors details.

    If no po_files are given, check spell in all files.

    args:
        po_files: list of po_files paths.

    returns:
        - int: spell errors count.

    """
    # Read custom dictionaries
    entries = set()
    for filename in Path("dictionaries").glob("*.txt"):
        with open(filename, "r") as f:
            entries.update(
                stripped_line
                for stripped_line in (line.strip() for line in f.readlines())
                if stripped_line
            )

    # Write merged dictionary file
    output_filename = tempfile.mktemp(suffix="_merged_dict.txt")
    with open(output_filename, "w") as f:
        for e in entries:
            f.write(e)
            f.write("\n")

    # Run pospell either against all files or the file given on the command line
    if not po_files:
        po_files = Path(".").glob("*/*.po")

    detected_errors = pospell.spell_check(po_files, personal_dict=output_filename, language="es_ES")
    return detected_errors


if __name__ == "__main__":
    po_files = sys.argv[1:]
    errors = check_spell(po_files)
    sys.exit(0 if errors == 0 else -1)

Web Proxy Viewer  |  New URL  |  Original Page