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