You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
2.4 KiB
48 lines
2.4 KiB
# !ATTENTION - Current Control panel works only from pyOpenRPA v1.2.0!
|
|
from pyOpenRPA import Orchestrator
|
|
def ControlPanelRenderDict(inGSettings):
|
|
# Example of the JS code in Python code
|
|
lJSCheckVersion = f"""
|
|
if (!('VersionStr' in mGlobal)) {{
|
|
window.location.reload(true);
|
|
}} else {{
|
|
if (mGlobal.VersionStr != "{inGSettings["VersionStr"]}") {{
|
|
window.location.reload(true);
|
|
}} else {{
|
|
$('div.orchestrator-version').html(mGlobal['VersionStr']);
|
|
}}
|
|
}}
|
|
"""
|
|
lResultDict={
|
|
"HeaderLeftText":"Version check",
|
|
"HeaderRightText":"Orchestrator",
|
|
"DataStorageKey":"", #Use key for set current dict in mGlobal.DataStorage["DataStorageKey"] on client side
|
|
"SubheaderText":f"<script>{lJSCheckVersion}</script>",
|
|
"BodyKeyValueList":[
|
|
{"Key": "Client", "Value": '<div class="orchestrator-version" style="display:inline;"></div>'},
|
|
{"Key": "Server", "Value": inGSettings["VersionStr"]},
|
|
],
|
|
"FooterText":"",
|
|
"FooterButtonX2List":[],
|
|
"FooterButtonX1List":[],
|
|
"GlobalStorage": "" # UNCOMMENT FOR DEBUG PURPOSE TO WATCH inGSettings on client side
|
|
}
|
|
return lResultDict
|
|
# Check in control panel, that process is runnning
|
|
|
|
#Orchestrator settings
|
|
def SettingsUpdate(inGSettings):
|
|
#Add RobotRDPActive in control panel
|
|
inGSettings["ControlPanelDict"]["RobotList"].append({"RenderFunction": ControlPanelRenderDict, "KeyStr": "VersionCheck"})
|
|
|
|
#Orchestrator.Managers.ControlPanel(inControlPanelNameStr="TestTTT",inRefreshHTMLJinja2TemplatePathStr="ControlPanel\\test.html", inJinja2TemplateRefreshBool = True)
|
|
lProcess = Orchestrator.Managers.ProcessInitSafe(inAgentHostNameStr="IVANMASLOV-DESKTOP",inAgentUserNameStr="ND",
|
|
inProcessNameWOExeStr="notepad",inStartCMDStr="notepad",inStopSafeTimeoutSecFloat=3)
|
|
# Some test
|
|
#lProcess.ScheduleStatusCheckEverySeconds(inIntervalSecondsInt=5)
|
|
#Orchestrator.OrchestratorScheduleGet().every(2).seconds.do(Orchestrator.OrchestratorThreadStart,
|
|
# lProcess.StartCheck)
|
|
#Orchestrator.OrchestratorScheduleGet().every(5).seconds.do(Orchestrator.OrchestratorThreadStart,lProcess.StatusCheckStart)
|
|
#lProcess.Start()
|
|
lGit = Orchestrator.Managers.Git(inAgentHostNameStr="IVANMASLOV-DESKTOP",inAgentUserNameStr="ND",inGitPathStr="")
|
|
return inGSettings |