Source code for access_eval.bin.post_process_access_eval

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import argparse
import logging
import sys
import traceback

from access_eval.analysis.communication import generate_email_text
from access_eval.analysis.parse_axe_results import generate_high_level_statistics
from access_eval.utils import clean_url

###############################################################################

logging.basicConfig(
    level=logging.INFO,
    format="[%(levelname)4s: %(module)s:%(lineno)4s %(asctime)s] %(message)s",
)
log = logging.getLogger(__name__)

###############################################################################


[docs]class Args(argparse.Namespace): def __init__(self) -> None: self.__parse() def __parse(self) -> None: p = argparse.ArgumentParser( prog="post_process_access_eval", description=( "Process the access evaluation results and generate any extra metadata " "and documentation." ), ) p.add_argument( "head_dir", type=str, help=( "The directory containing all results for an already analyzed website. " "Note: This bin script will clean the `https://` or `http://` prefix " "from a provided string." ), ) p.parse_args(namespace=self)
###############################################################################
[docs]def main() -> None: try: args = Args() cleaned_url = clean_url(args.head_dir) generate_high_level_statistics(head_dir=cleaned_url) generate_email_text(head_dir=cleaned_url) except Exception as e: log.error("=============================================") log.error("\n\n" + traceback.format_exc()) log.error("=============================================") log.error("\n\n" + str(e) + "\n") log.error("=============================================") sys.exit(1)
############################################################################### # Allow caller to directly run this module (usually in development scenarios) if __name__ == "__main__": main()