SetPythonModuleResult SetPythonModule(OdId tObject, SetPythonModuleArg tArg)
tObject. Моникёр объекта репозитория, являющегося Python-модулем.
tArg. Параметры выполнения операции.
Операция SetPythonModule используется для изменения кода Python-модуля и запуска его на выполнение.
Для выполнения операции укажите в поле tObject моникёр объекта репозитория, являющегося Python-модулем. Моникёр объекта может быть получен при выполнении операции GetObjects. В поле tArg.meta указываются новые метаданные модуля, которые необходимо применить. Сохранение изменений осуществляется при выполнении операции.
Параметр tArg.run позволяет запустить Python-модуль на выполнение.
Результатом выполнения операции будет информация о результатах компиляции и выполнения модуля.
Ниже приведён пример запуска на выполнение Python-модуля. В запросе передаётся моникёр модуля в репозитории. В ответе приходит текст сообщений, которые выводятся в консоль при выполнении. В примере C# используется функция FindObjectById, код которой приведен в примере «Получение описания объекта по его идентификатору».
{
"SetPythonModule" :
{
"tObject" :
{
"id" : "LGAABCFKMMJNFOAEJHAJNCGDICAAELAEKLDHEEPJJFLLCAAC!M!304842"
},
"tArg" :
{
"run" : "true"
}
}
}
{
"SetPythonModuleResult" :
{
"consoleOutput" : " Today: 08-Jul-2022"
}
}
public static SetPythonModuleResult RunPythonModule(MbId mb, string modId)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tSet = new SetPythonModule()
{
tArg = new SetPythonModuleArg()
{
run = true
},
// Формирование моникёра объекта
tObject = new OdId() { id = mb.id + "!" + FindObjectById(mb, modId).k }
};
// Запустить Python-модуль
var result = somClient.SetPythonModule(tSet);
return result;
}
См. также: