def main() -> None: """Parses command line arguments and retrieves project configuration values.""" parser = argparse.ArgumentParser( description="Retrieves project configuration values.") group = parser.add_mutually_exclusive_group(required=True) group.add_argument("-c", "--config-variable", help="variable key string", type=str) group.add_argument("-k", "--key", help="configuration variable", type=str, choices=ConfigurationVariable.choices()) parser.add_argument("-v", "--verbose", action="count", default=0, help="Verbosity, by default errors are reported.") args = parser.parse_args() set_log_level(args.verbose) try: print( configuration.get_value( ConfigurationVariable.parse(args.key) if args.key else args. config_variable)) except Exception as e: log_exception(logger, e) sys.exit(1)
def main() -> int: """Script CLI.""" parser = argparse.ArgumentParser( description="Generate licence and third-party IP reports.") def convert_to_path(arg: Any) -> Path: """Converts argument to a path.""" return Path(arg) parser.add_argument("-o", "--output-dir", help="Output directory where the files are generated", required=True, type=convert_to_path) parser.add_argument( "-v", "--verbose", action="count", default=0, help="Verbosity, by default errors are reported.", ) args = parser.parse_args() set_log_level(args.verbose) try: project = generate_spdx_reports(args.output_dir) project.check_licence_compliance() return 0 except Exception as e: log_exception(logger, e) return 1
def generate_docs(output_directory: Path, module: str) -> int: """Triggers building the documentation.""" try: generate_documentation(output_directory, module) except Exception as e: log_exception(logger, e) return 1 return 0
def get_current_spdx_project() -> SpdxProject: """Gets information about the current project/package.""" logger.info("Generating package information.") try: # Trying to generate the egg for the package but this may fail. If so, continue. generate_package_info() except Exception as e: log_exception(logger, e) return SpdxProject(CurrentProjectMetadataParser())
def generate_spdx_reports(output_directory: Path) -> SpdxProject: """Generates all the SPDX reports for the current project.""" logger.info("Generating package information.") try: # Trying to generate the egg for the package but this may fail. If so, continue. generate_package_info() except Exception as e: log_exception(logger, e) logger.info("Generating SPDX report.") project = SpdxProject(CurrentProjectMetadataParser()) project.generate_tag_value_files(output_directory) return project
def main(): """Handle command line arguments to generate a results summary file.""" parser = argparse.ArgumentParser(description="Publish target data report to AWS.") parser.add_argument("-v", "--verbose", action="count", default=0, help="Verbosity, by default errors are reported.") args = parser.parse_args() set_log_level(args.verbose) # Retrieve environment settings (if any) stored in a .env file dotenv.load_dotenv(dotenv.find_dotenv(usecwd=True, raise_error_if_not_found=False)) try: generate_validation_report_and_publish() except Exception as e: log_exception(logger, e) sys.exit(1)
def main() -> int: """Creates a CLI.""" parser = argparse.ArgumentParser( description="Adds licence header to every source file of a project.") parser.add_argument("-v", "--verbose", action="count", default=0, help="Verbosity, by default errors are reported.") args = parser.parse_args() set_log_level(args.verbose) try: add_licence_header(args.verbose) except Exception as e: log_exception(logger, e) return 1 return 0
def main() -> int: """Parses cli arguments and creates a news file.""" parser = argparse.ArgumentParser() parser.add_argument("news_text", help="Contents of the news file.") parser.add_argument("--type", help="News type to create.", choices=[t.name for t in NewsType], default="feature") args = parser.parse_args() created_file = create_news_file(args.news_text, NewsType[args.type]) try: validate_news_file(created_file) except ValueError as e: created_file.unlink() log_exception(logger, e) return 1 return 0
def main() -> None: """Handle command line arguments to generate a version and changelog file.""" parser = argparse.ArgumentParser(description="Versions the project.") parser.add_argument("-t", "--release-type", help="type of release to perform", required=True, type=str, choices=CommitType.choices()) parser.add_argument("-v", "--verbose", action="count", default=0, help="Verbosity, by default errors are reported.") args = parser.parse_args() set_log_level(args.verbose) try: version_project(CommitType.parse(args.release_type)) except Exception as e: log_exception(logger, e) sys.exit(1)