Source code for sw_metadata_bot.rsmetacheck_wrapper

"""Wrapper for rsmetacheck CLI to integrate with sw-metadata-bot."""

import sys

from rsmetacheck import cli as rsmetacheck_cli


[docs] def run_rsmetacheck( *, input_source: str, skip_somef: bool = False, somef_output: str = "somef_outputs", pitfalls_output: str = "pitfalls_outputs", analysis_output: str = "analysis_results.json", threshold: float = 0.8, generate_codemeta: bool = False, ) -> None: """Run rsmetacheck CLI by constructing and forwarding argv.""" argv = ["rsmetacheck"] argv.extend(["--input", input_source.strip()]) argv.extend(["--somef-output", somef_output]) argv.extend(["--pitfalls-output", pitfalls_output]) argv.extend(["--analysis-output", analysis_output]) argv.extend(["--threshold", str(threshold)]) if skip_somef: argv.append("--skip-somef") if generate_codemeta: argv.append("--generate-codemeta") # jsonld output also includes non-detected checks when verbose is enabled. argv.append("--verbose") original_argv = sys.argv try: sys.argv = argv rsmetacheck_cli() finally: sys.argv = original_argv