X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Ftools%2Fpresentation%2Fpal.py;h=d06cadaf99e8d2c4479bffa34c915a9ed4eeb154;hp=dfed6b3e62d4fe5aed21089c9da2a872cd430399;hb=HEAD;hpb=5aa2e158983f61df6d26129ad566b906051fc5b5 diff --git a/resources/tools/presentation/pal.py b/resources/tools/presentation/pal.py deleted file mode 100644 index dfed6b3e62..0000000000 --- a/resources/tools/presentation/pal.py +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright (c) 2019 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""CSIT Presentation and analytics layer. -""" - -import sys -import argparse -import logging - -from errors import PresentationError -from environment import Environment, clean_environment -from specification_parser import Specification -from input_data_parser import InputData -from generator_tables import generate_tables -from generator_plots import generate_plots -from generator_files import generate_files -from static_content import prepare_static_content -from generator_report import generate_report -from generator_CPTA import generate_cpta -from generator_alerts import Alerting, AlertingError - - -def parse_args(): - """Parse arguments from cmd line. - - :returns: Parsed arguments. - :rtype: ArgumentParser - """ - - parser = argparse.ArgumentParser(description=__doc__, - formatter_class=argparse. - RawDescriptionHelpFormatter) - parser.add_argument("-s", "--specification", - required=True, - type=argparse.FileType('r'), - help="Specification YAML file.") - parser.add_argument("-r", "--release", - default="master", - type=str, - help="Release string of the product.") - parser.add_argument("-w", "--week", - default="1", - type=str, - help="Calendar week when the report is published.") - parser.add_argument("-l", "--logging", - choices=["DEBUG", "INFO", "WARNING", - "ERROR", "CRITICAL"], - default="ERROR", - help="Logging level.") - parser.add_argument("-f", "--force", - action='store_true', - help="Force removing the old build(s) if present.") - - return parser.parse_args() - - -def main(): - """Main function.""" - - log_levels = {"NOTSET": logging.NOTSET, - "DEBUG": logging.DEBUG, - "INFO": logging.INFO, - "WARNING": logging.WARNING, - "ERROR": logging.ERROR, - "CRITICAL": logging.CRITICAL} - - args = parse_args() - logging.basicConfig(format='%(asctime)s: %(levelname)s: %(message)s', - datefmt='%Y/%m/%d %H:%M:%S', - level=log_levels[args.logging]) - - logging.info("Application started.") - try: - spec = Specification(args.specification) - spec.read_specification() - except PresentationError: - logging.critical("Finished with error.") - return 1 - - if spec.output["output"] not in ("report", "CPTA"): - logging.critical("The output '{0}' is not supported.". - format(spec.output["output"])) - return 1 - - ret_code = 1 - try: - env = Environment(spec.environment, args.force) - env.set_environment() - - prepare_static_content(spec) - - data = InputData(spec) - data.download_and_parse_data(repeat=1) - - generate_tables(spec, data) - generate_plots(spec, data) - generate_files(spec, data) - - if spec.output["output"] == "report": - generate_report(args.release, spec, args.week) - logging.info("Successfully finished.") - elif spec.output["output"] == "CPTA": - sys.stdout.write(generate_cpta(spec, data)) - try: - alert = Alerting(spec) - alert.generate_alerts() - except AlertingError as err: - logging.warning(repr(err)) - logging.info("Successfully finished.") - ret_code = 0 - - except AlertingError as err: - logging.critical("Finished with an alerting error.") - logging.critical(repr(err)) - except PresentationError as err: - logging.critical("Finished with an PAL error.") - logging.critical(repr(err)) - except (KeyError, ValueError) as err: - logging.critical("Finished with an error.") - logging.critical(repr(err)) - except Exception as err: - logging.critical("Finished with an unexpected error.") - logging.critical(repr(err)) - finally: - if spec is not None: - clean_environment(spec.environment) - return ret_code - - -if __name__ == '__main__': - sys.exit(main())