def Process()

in packages/autorest.python/autorest/jsonrpc/server.py [0:0]


def Process(plugin_name: str, session_id: str) -> bool:
    # pylint: disable=import-outside-toplevel
    """JSON-RPC process call."""
    from .stdstream import StdStreamAutorestAPI

    with contextlib.closing(StdStreamAutorestAPI(session_id)) as stdstream_connection:
        _LOGGER.debug(
            "Autorest called process with plugin_name '%s' and session_id: '%s'",
            plugin_name,
            session_id,
        )
        if plugin_name == "m2r":
            from ..m2r import M2RAutorest as PluginToLoad
        elif plugin_name == "preprocess":
            from ..preprocess import PreProcessPluginAutorest as PluginToLoad  # type: ignore
        elif plugin_name == "m4reformatter":
            from ..m4reformatter import M4Reformatter as PluginToLoad  # type: ignore
        elif plugin_name == "codegen":
            from ..codegen import CodeGeneratorAutorest as PluginToLoad  # type: ignore
        elif plugin_name == "black":
            from ..black import BlackScriptPluginAutorest as PluginToLoad  # type: ignore
        elif plugin_name == "multiapiscript":
            from ..multiapi import MultiApiScriptPluginAutorest as PluginToLoad  # type: ignore
        elif plugin_name == "multiclientscript":
            from ..multiclient import MultiClientPluginAutorest as PluginToLoad  # type: ignore
        else:
            _LOGGER.fatal("Unknown plugin name %s", plugin_name)
            raise RuntimeError(f"Unknown plugin name {plugin_name}")

        plugin = PluginToLoad(
            autorestapi=stdstream_connection,
            output_folder=stdstream_connection.get_value("output-folder"),
        )

        try:
            _LOGGER.debug("Starting plugin %s", PluginToLoad.__name__)
            return plugin.process()
        except Exception:  # pylint: disable=broad-except
            _LOGGER.exception("Python generator raised an exception")
    return False