From c30d1f8e6f4b207602f02092542c29cd4e84e625 Mon Sep 17 00:00:00 2001 From: Ivan Maslov Date: Sun, 1 Dec 2019 10:25:06 +0300 Subject: [PATCH] v1.0.35 Orchestrator server multythreading + try to fix hang bug --- .../INSTALLER | 0 .../pyOpenRPA-1.0.35.dist-info}/METADATA | 2 +- .../pyOpenRPA-1.0.35.dist-info}/RECORD | 18 ++--- .../WHEEL | 0 .../top_level.txt | 0 .../pyOpenRPA/Orchestrator/Server.py | 69 ++++++++++++------ .../pyOpenRPA/Orchestrator/Web/Index.xhtml | 21 +++++- .../pyOpenRPA/Orchestrator/Web/favicon.ico | Bin 5430 -> 5430 bytes .../Lib/site-packages/pyOpenRPA/__init__.py | 2 +- .../INSTALLER | 0 .../pyOpenRPA-1.0.35.dist-info}/METADATA | 2 +- .../pyOpenRPA-1.0.35.dist-info}/RECORD | 18 ++--- .../WHEEL | 0 .../top_level.txt | 0 .../pyOpenRPA/Orchestrator/Server.py | 69 ++++++++++++------ .../pyOpenRPA/Orchestrator/Web/Index.xhtml | 21 +++++- .../pyOpenRPA/Orchestrator/Web/favicon.ico | Bin 5430 -> 5430 bytes .../Lib/site-packages/pyOpenRPA/__init__.py | 2 +- Sources/pyOpenRPA/__init__.py | 2 +- v1.0.34 => v1.0.35 | 0 20 files changed, 157 insertions(+), 69 deletions(-) rename Resources/WPy32-3720/python-3.7.2/Lib/site-packages/{pyOpenRPA-1.0.34.dist-info => pyOpenRPA-1.0.35.dist-info}/INSTALLER (100%) rename Resources/{WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info => WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info}/METADATA (99%) rename Resources/{WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info => WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info}/RECORD (97%) rename Resources/WPy32-3720/python-3.7.2/Lib/site-packages/{pyOpenRPA-1.0.34.dist-info => pyOpenRPA-1.0.35.dist-info}/WHEEL (100%) rename Resources/WPy32-3720/python-3.7.2/Lib/site-packages/{pyOpenRPA-1.0.34.dist-info => pyOpenRPA-1.0.35.dist-info}/top_level.txt (100%) rename Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/{pyOpenRPA-1.0.34.dist-info => pyOpenRPA-1.0.35.dist-info}/INSTALLER (100%) rename Resources/{WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info => WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info}/METADATA (99%) rename Resources/{WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info => WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info}/RECORD (97%) rename Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/{pyOpenRPA-1.0.34.dist-info => pyOpenRPA-1.0.35.dist-info}/WHEEL (100%) rename Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/{pyOpenRPA-1.0.34.dist-info => pyOpenRPA-1.0.35.dist-info}/top_level.txt (100%) rename v1.0.34 => v1.0.35 (100%) diff --git a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/INSTALLER b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/INSTALLER similarity index 100% rename from Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/INSTALLER rename to Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/INSTALLER diff --git a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/METADATA b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/METADATA similarity index 99% rename from Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/METADATA rename to Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/METADATA index fb6f4323..7a198c81 100644 --- a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/METADATA +++ b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/METADATA @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pyOpenRPA -Version: 1.0.34 +Version: 1.0.35 Summary: First open source RPA platform for business Home-page: https://gitlab.com/UnicodeLabs/OpenRPA Author: Ivan Maslov diff --git a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/RECORD b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/RECORD similarity index 97% rename from Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/RECORD rename to Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/RECORD index 60690fbf..ef9e4930 100644 --- a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/RECORD +++ b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/RECORD @@ -1,15 +1,15 @@ -pyOpenRPA-1.0.34.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pyOpenRPA-1.0.34.dist-info/METADATA,sha256=WakfkUg30wJGLxsmqvPERvkd2agMGOzXa84qcPG5f5Q,3510 -pyOpenRPA-1.0.34.dist-info/RECORD,, -pyOpenRPA-1.0.34.dist-info/WHEEL,sha256=qB97nP5e4MrOsXW5bIU5cUn_KSVr10EV0l-GCHG9qNs,97 -pyOpenRPA-1.0.34.dist-info/top_level.txt,sha256=RPzwQXgYBRo_m5L3ZLs6Voh8aEkMeT29Xsul1w1qE0g,10 +pyOpenRPA-1.0.35.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pyOpenRPA-1.0.35.dist-info/METADATA,sha256=Eaxc1HoYsQJpE4mC-fxUWwTQroJvDDXoEiPN-Eed6Sk,3510 +pyOpenRPA-1.0.35.dist-info/RECORD,, +pyOpenRPA-1.0.35.dist-info/WHEEL,sha256=qB97nP5e4MrOsXW5bIU5cUn_KSVr10EV0l-GCHG9qNs,97 +pyOpenRPA-1.0.35.dist-info/top_level.txt,sha256=RPzwQXgYBRo_m5L3ZLs6Voh8aEkMeT29Xsul1w1qE0g,10 pyOpenRPA/Orchestrator/Orchestrator.py,sha256=UKp7eqvWDM91kYLwl2mo0UB8Pw-qu8eJCsR9NEXD1aU,6436 pyOpenRPA/Orchestrator/Processor.py,sha256=HQQyOVX-d5vPO-YULyTxVOtXtUMfvpAaSVO4xXxaKVI,9107 -pyOpenRPA/Orchestrator/Server.py,sha256=5tjhfU0QVEfg4zjT2jWOuOADWeHXMBxX2Fe8lj1bnCA,20839 +pyOpenRPA/Orchestrator/Server.py,sha256=dqTCK9HPhNJNgHv931uohIlW48BUvDhWMVhXaDagM1w,22134 pyOpenRPA/Orchestrator/ServerSettings.py,sha256=jOXJTLwg8cJx6D-rN8J4dn5RCb2nepAhCH4F9hYVUdM,4912 pyOpenRPA/Orchestrator/Timer.py,sha256=FQZ3y6G9d47Ybx7RewzePKQV77H4gCkx5SaeFVlsuhc,2095 -pyOpenRPA/Orchestrator/Web/Index.xhtml,sha256=7wwEJ8lEI_2AElITUk9yyX91Sq6pNccqPsuAVlm7enQ,32322 -pyOpenRPA/Orchestrator/Web/favicon.ico,sha256=jO3pjFWbmJEPQ2KroXSKYtXIesBq46PCBlKSouewODU,5430 +pyOpenRPA/Orchestrator/Web/Index.xhtml,sha256=su4tsDD_ZMbQz6Tbmqj55SM0ZZxuQw9tfPcytaB8wzs,32953 +pyOpenRPA/Orchestrator/Web/favicon.ico,sha256=0vdsnwKGh6pgB0FDB5mOKO7RwbxQ9F13Zg16F1pkvXs,5430 pyOpenRPA/Orchestrator/__init__.py,sha256=qVH8fEPgXk54rmy-ol0PnT8GF5OlGE0a8mExwJ4tFqY,124 pyOpenRPA/Orchestrator/__main__.py,sha256=cOd8WU77VGgzTZUB0WmWpPmdYyMZY1zVyuU9yx26MKs,144 pyOpenRPA/Orchestrator/__pycache__/Orchestrator.cpython-37.pyc,, @@ -255,5 +255,5 @@ pyOpenRPA/Tools/RobotScreenActive/__pycache__/__init__.cpython-37.pyc,, pyOpenRPA/Tools/RobotScreenActive/__pycache__/__main__.cpython-37.pyc,, pyOpenRPA/Tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 pyOpenRPA/Tools/__pycache__/__init__.cpython-37.pyc,, -pyOpenRPA/__init__.py,sha256=6g2t0dHUhbsJm87H07rs_6y5XDub0C_nWd2B-w-0XGg,175 +pyOpenRPA/__init__.py,sha256=l7mCNJli_G0e_-FKJ5hBRfMvtM12pfLexUeM7c1IuZw,175 pyOpenRPA/__pycache__/__init__.cpython-37.pyc,, diff --git a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/WHEEL b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/WHEEL similarity index 100% rename from Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/WHEEL rename to Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/WHEEL diff --git a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/top_level.txt b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/top_level.txt similarity index 100% rename from Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/top_level.txt rename to Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/top_level.txt diff --git a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/Orchestrator/Server.py b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/Orchestrator/Server.py index ab407598..0b490fb4 100644 --- a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/Orchestrator/Server.py +++ b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/Orchestrator/Server.py @@ -1,4 +1,6 @@ from http.server import BaseHTTPRequestHandler, HTTPServer +from socketserver import ThreadingMixIn +import threading import json from threading import Thread from . import Processor @@ -11,27 +13,6 @@ import os #for path operations from http import cookies global mGlobalDict from . import ServerSettings -#inGlobalDict -# "JSONConfigurationDict": -class RobotDaemonServer(Thread): - def __init__(self,name,inGlobalDict): - Thread.__init__(self) - self.name = name - # Update the global dict - ServerSettings.SettingsUpdate(mGlobalDict) - def run(self): - inServerAddress=""; - inPort = mGlobalDict["Server"]["ListenPort"]; - # Server settings - # Choose port 8080, for port 80, which is normally used for a http server, you need root access - server_address = (inServerAddress, inPort) - httpd = HTTPServer(server_address, testHTTPServer_RequestHandler) - # Logging - mGlobalDict["Logger"].info(f"Server init. Listen URL: {inServerAddress}, Listen port: {inPort}") - # Запуск адреса в браузере - os.system("explorer http://127.0.0.1:8081") - httpd.serve_forever() - #Authenticate function () # return dict # { @@ -380,6 +361,17 @@ class testHTTPServer_RequestHandler(BaseHTTPRequestHandler): lFlagUserAccess = UserAccessCheckBefore("POST", self) ###################################### if lFlagUserAccess: + lOrchestratorFolder = "\\".join(__file__.split("\\")[:-1]) + ############################ + #New server engine (url from global dict (URLList)) + ############################ + for lURLItem in mGlobalDict["Server"]["URLList"]: + #Check if all condition are applied + lFlagURLIsApplied=False + lFlagURLIsApplied=self.URLItemCheckDo(lURLItem, "POST") + if lFlagURLIsApplied: + self.ResponseDictSend() + return #Централизованная функция получения запросов/отправки if self.path == '/Utils/Processor': #ReadRequest @@ -405,4 +397,37 @@ class testHTTPServer_RequestHandler(BaseHTTPRequestHandler): self.send_response(403) # Send headers self.end_headers() - return \ No newline at end of file + return + #Logging + #!Turn it on to stop print in console + #def log_message(self, format, *args): + # return +class ThreadedHTTPServer(ThreadingMixIn, HTTPServer): + """Handle requests in a separate thread.""" + def finish_request(self, request, client_address): + request.settimeout(30) + # "super" can not be used because BaseServer is not created from object + HTTPServer.finish_request(self, request, client_address) +#inGlobalDict +# "JSONConfigurationDict": +class RobotDaemonServer(Thread): + def __init__(self,name,inGlobalDict): + Thread.__init__(self) + self.name = name + # Update the global dict + ServerSettings.SettingsUpdate(mGlobalDict) + def run(self): + inServerAddress=""; + inPort = mGlobalDict["Server"]["ListenPort"]; + # Server settings + # Choose port 8080, for port 80, which is normally used for a http server, you need root access + server_address = (inServerAddress, inPort) + #httpd = HTTPServer(server_address, testHTTPServer_RequestHandler) + # Logging + mGlobalDict["Logger"].info(f"Server init. Listen URL: {inServerAddress}, Listen port: {inPort}") + # Запуск адреса в браузере + os.system("explorer http://127.0.0.1:8081") + #httpd.serve_forever() + httpd = ThreadedHTTPServer(server_address, testHTTPServer_RequestHandler) + #print('Starting server, use to stop') + httpd.serve_forever() diff --git a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/Orchestrator/Web/Index.xhtml b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/Orchestrator/Web/Index.xhtml index 8830bcfd..f2efeae6 100644 --- a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/Orchestrator/Web/Index.xhtml +++ b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/Orchestrator/Web/Index.xhtml @@ -404,6 +404,22 @@ dataType: "text" }); } + mGlobal.Server= {} + mGlobal.Server.JSONGet=function(inMethod, inURL, inDataJSON, inCallback) + { + $.ajax({ + type: inMethod, + url: inURL, + data: JSON.stringify(inDataJSON), + success: + function(lData,l2,l3) + { + var lResponseJSON=JSON.parse(lData) + inCallback(lResponseJSON) + }, + dataType: "text" + }); + } ///////////////// ///Modal @@ -427,6 +443,9 @@ ///Установить HTML код $('.ui.modal.basic .content').html(lHTMLCode); $('.ui.modal.basic').modal('show'); + //DO widest modal for table with scroll x + $("div.ui.basic.modal.transition.visible.active.scrolling")[0].style["width"]="1300px" + $("div.ui.basic.modal.transition.visible.active.scrolling")[0].style["overflow"]="scroll" } //Service function mGlobal.Modal.TableFilter.FilterUpdate=function(inFilterValue) { @@ -549,7 +568,7 @@ {"Header":"Head 09","Description":"Test 21.02.2019"} ] } - mGlobal.Modal.ListFilter.Show(lTestData) + // mGlobal.Modal.ListFilter.Show(lTestData) }) ; diff --git a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/Orchestrator/Web/favicon.ico b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/Orchestrator/Web/favicon.ico index 27dd469630f8aa57a617634bd564672777cbf8e5..79e3b24aa2799582bd97e2e6b645f0e00bbef35c 100644 GIT binary patch literal 5430 zcmchXv2GJl5JeZn2jml6AwGeE!b+JkO_VN4g+M|P1qwnaR#Jp2KY)@{k!jMbaB+Ye%3V4o2D6!=I3u+{=Cb* z=yKh*L(KDCXvST>@433V8ed#oOpcF_XNQM}EsHbxzFu%=XJ_r^=H}Ac-Q8_3FE3{` z9%^8=wzk@xot@eC_ICUB!<&{!PEPnU2fFlv0ef(8Fv08l@9)~_@9W9l-rhKK#982^ zj+P6))32v@z4(b7)X;?E=H_OyzrWv}9DSZePI{aNUwDE$&H)}C^6bH@j~*Q2b3fmU z{b2O?Y5K7}`f@b$4&bDA`txMQJn%DX?w3Ox{dgde;YcpCW+LL2#esK27&zbj} z7+2{Y?DcoSIcsxXrJp_2e&2`qkBz0fhf6=J^z{$Nx*t81^vUUO=-l`# zVQYE#(aHMY&Fi5rdQZ+IzLvLM(ng<$nz+7L)2Zd*bH=&a@~8Eo+VOX8PfcI$W!1%u zIQepvKmX5>2W#CkIXM@V>L>A8JMs_Jm#eN;uGrV-f$lh~9*J_475cOG6SEIAUAeXn a?dWcmkEk7S>?6lI_L;wQUWd;A=uPck8Pyd+kf;9$V)W?zIPB!q-^ z1dqlpAY8n-|Nj8a*W%p!IERn8Vt*cq@FC8h^vi{F7h!>{E`OO%X;T<0y0`nksfXTADxv4&U)Yd-b{CZ2HtyLP z2GX;GW0zenR|$^=SF~)bMKho*Z`e~^ZG_z+~zD^e&jIW%&hf!c6=l zV?|HC?~7`bu>q7<8lk_u9`tv5z^inCqfG~vx_+>C41w%lHH?S+t9vjdw;Hx{xeL=O zTaETs2N>`6!C0pb#(Rz6#9?hxf$CZllc(>CDsXh@*qOLajCZ8@h|T-Kgwzrr{Js?& zxR=hXzS#l;*PGe?;YKCUnfpGk24}YcG`HG|I#pl0zn7c{Nox2^X#f)bFih(lV65x~?T;NyugS?!e6&%S<9ZveS3*cX4IY&pj8%A^ zEu zV6Ks~Gbz5Q1DDLq>`6K#c?YgG?L{3v$%NEYqrTn(Blp#arxOi5IC~5Xn=tA8B%i%q z3tCAB=x=xBXNO!LBwfKve!eI#Q)u64E#8OYx^H#f_o zR!>}s^V~K>$q#*6C!Rq8WIubG7SuOdm@ist2mTPiih>ZwaXsaNM3ySZCN`{_qK*5-4U{c1;i;7Zdr>9fDQ0cy2I7-rlCPQ2Z^wBM9#Ef*?7EQ#9W8J6I>dJ#O4fdFCRH4{=aFqMxJ$flZzH&*P=F zLe>{Agl)dUoXJxNkNOJP=~&@mcC~P3W~bb+k^2>b1~-^~k)n^(v)JSIBr3(+q4;+l z7%(r*Xq@mkn}<`fK5^NzN1HIMw1En9PtPa&Ia7>#+%w5IDYd}U)hB;hj$9}Wx*t1> zIaZvvkHamQM|si5V8I(bvkWPBh{Y!7M{(^|SU~pWexBv?r=jw%Y9V5sKD7*)$uKCs zt}DhXVW_X)hlDQ-t^*mUCX6(zVM=Xd_26x~q1+Z5^}SVwhp8OpzY=VAM${$c*5qsi z0;5yl(b^#!nTO0o0y3cldv}yyiuFUejcj_7!wq9j6YnW`#=5Qfp$&Y-aahV^A*Kt$ z#C0po`_ixwOQUR2_KxaQ$v)H{|KIR)H|%U|A1On^G4n=T@qJ=SIgflH8_Yn=7=ndJ z8f=(@sRjgW9*B8EFnF`Ih$-IN`)MVM8r zFRM=^6X8((pBbKDdf;J_4>_i;R5?}1GzcB#e|b&auTs*yn| z6vw{h&}X=uT1h91$wAD0eC~Bhc3z2P8Gbg9Vz%dNsIN+eVlXZ>g6`)om~;A=J}0n; zqr5}wNEV;T1wOqKec`a5rhaA?d$HV7j`<<=G@P%P(w@}B96WuxSs*ITU-ZsgD`$4d zrsg5-ibJ5&!}5(sV`sjg!#JkiD?UxO!u|uF$wy{~Ct+oI1y)yAkuJlG#a-e<)NfMH zO0tA4UU<5(UckPk1fR>P`mPBg6SElObKtFTKsGebWST=Cq@J1X0IAs+%gvraJJ5U@ zZ9>>=tgJ#R7-RGFj>a_VOO8Dk!#8(LX?V7&8pr==t_*?@X> z@t)JfAKj;(EFJbp_NGC`gZ$Ty{W#A#XQd|WrM0Lp%0HB6>7K!P*jhBK-zHhjcV)%= zLwPukwTEm%@#4q0qL}+DV_a%N{EmHmykAhx>l=OOg%xiLTECtfGU z7tix&SC`=pY{K7KTgQI!^nOUT&CDgeV_R<&490 zl@k^M8L+i#it7kJ6~MfB;7_!V@(9)V7tjBDEH>A}?>oCN)pvAlWxNpIGiZafI|2TB zH|xVj@s7^rQ{nxez6)?Y61KB#2%c~K_Ezko4FB1MS-fK(mlr9vqmuzxh-R?fO_ufx zC?Bt9B!fpW0=wHgr^e>1BZ`ZDA9h3JS6cGkE4Z(NSg>BEH;h>c9+w=6UE z+bS?uNnyB73HS{GLRK&2lS^mDglF#oNX`RZ-r-L{xb;F1{`pK0-dh%gcX7Pq#vu`e n^Lz;VUnA&i!|OkqJ0}sXbsy{}x{UmYFYzZFkemZpei!}+PFaf- diff --git a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/__init__.py b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/__init__.py index f27675a2..768d11db 100644 --- a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/__init__.py +++ b/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA/__init__.py @@ -3,7 +3,7 @@ r""" The OpenRPA package (from UnicodeLabs) """ -__version__ = 'v1.0.34' +__version__ = 'v1.0.35' __all__ = [] __author__ = 'Ivan Maslov ' #from .Core import Robot \ No newline at end of file diff --git a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/INSTALLER b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/INSTALLER similarity index 100% rename from Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/INSTALLER rename to Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/INSTALLER diff --git a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/METADATA b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/METADATA similarity index 99% rename from Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/METADATA rename to Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/METADATA index fb6f4323..7a198c81 100644 --- a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/METADATA +++ b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/METADATA @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pyOpenRPA -Version: 1.0.34 +Version: 1.0.35 Summary: First open source RPA platform for business Home-page: https://gitlab.com/UnicodeLabs/OpenRPA Author: Ivan Maslov diff --git a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/RECORD b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/RECORD similarity index 97% rename from Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/RECORD rename to Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/RECORD index 60690fbf..ef9e4930 100644 --- a/Resources/WPy32-3720/python-3.7.2/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/RECORD +++ b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/RECORD @@ -1,15 +1,15 @@ -pyOpenRPA-1.0.34.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pyOpenRPA-1.0.34.dist-info/METADATA,sha256=WakfkUg30wJGLxsmqvPERvkd2agMGOzXa84qcPG5f5Q,3510 -pyOpenRPA-1.0.34.dist-info/RECORD,, -pyOpenRPA-1.0.34.dist-info/WHEEL,sha256=qB97nP5e4MrOsXW5bIU5cUn_KSVr10EV0l-GCHG9qNs,97 -pyOpenRPA-1.0.34.dist-info/top_level.txt,sha256=RPzwQXgYBRo_m5L3ZLs6Voh8aEkMeT29Xsul1w1qE0g,10 +pyOpenRPA-1.0.35.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pyOpenRPA-1.0.35.dist-info/METADATA,sha256=Eaxc1HoYsQJpE4mC-fxUWwTQroJvDDXoEiPN-Eed6Sk,3510 +pyOpenRPA-1.0.35.dist-info/RECORD,, +pyOpenRPA-1.0.35.dist-info/WHEEL,sha256=qB97nP5e4MrOsXW5bIU5cUn_KSVr10EV0l-GCHG9qNs,97 +pyOpenRPA-1.0.35.dist-info/top_level.txt,sha256=RPzwQXgYBRo_m5L3ZLs6Voh8aEkMeT29Xsul1w1qE0g,10 pyOpenRPA/Orchestrator/Orchestrator.py,sha256=UKp7eqvWDM91kYLwl2mo0UB8Pw-qu8eJCsR9NEXD1aU,6436 pyOpenRPA/Orchestrator/Processor.py,sha256=HQQyOVX-d5vPO-YULyTxVOtXtUMfvpAaSVO4xXxaKVI,9107 -pyOpenRPA/Orchestrator/Server.py,sha256=5tjhfU0QVEfg4zjT2jWOuOADWeHXMBxX2Fe8lj1bnCA,20839 +pyOpenRPA/Orchestrator/Server.py,sha256=dqTCK9HPhNJNgHv931uohIlW48BUvDhWMVhXaDagM1w,22134 pyOpenRPA/Orchestrator/ServerSettings.py,sha256=jOXJTLwg8cJx6D-rN8J4dn5RCb2nepAhCH4F9hYVUdM,4912 pyOpenRPA/Orchestrator/Timer.py,sha256=FQZ3y6G9d47Ybx7RewzePKQV77H4gCkx5SaeFVlsuhc,2095 -pyOpenRPA/Orchestrator/Web/Index.xhtml,sha256=7wwEJ8lEI_2AElITUk9yyX91Sq6pNccqPsuAVlm7enQ,32322 -pyOpenRPA/Orchestrator/Web/favicon.ico,sha256=jO3pjFWbmJEPQ2KroXSKYtXIesBq46PCBlKSouewODU,5430 +pyOpenRPA/Orchestrator/Web/Index.xhtml,sha256=su4tsDD_ZMbQz6Tbmqj55SM0ZZxuQw9tfPcytaB8wzs,32953 +pyOpenRPA/Orchestrator/Web/favicon.ico,sha256=0vdsnwKGh6pgB0FDB5mOKO7RwbxQ9F13Zg16F1pkvXs,5430 pyOpenRPA/Orchestrator/__init__.py,sha256=qVH8fEPgXk54rmy-ol0PnT8GF5OlGE0a8mExwJ4tFqY,124 pyOpenRPA/Orchestrator/__main__.py,sha256=cOd8WU77VGgzTZUB0WmWpPmdYyMZY1zVyuU9yx26MKs,144 pyOpenRPA/Orchestrator/__pycache__/Orchestrator.cpython-37.pyc,, @@ -255,5 +255,5 @@ pyOpenRPA/Tools/RobotScreenActive/__pycache__/__init__.cpython-37.pyc,, pyOpenRPA/Tools/RobotScreenActive/__pycache__/__main__.cpython-37.pyc,, pyOpenRPA/Tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 pyOpenRPA/Tools/__pycache__/__init__.cpython-37.pyc,, -pyOpenRPA/__init__.py,sha256=6g2t0dHUhbsJm87H07rs_6y5XDub0C_nWd2B-w-0XGg,175 +pyOpenRPA/__init__.py,sha256=l7mCNJli_G0e_-FKJ5hBRfMvtM12pfLexUeM7c1IuZw,175 pyOpenRPA/__pycache__/__init__.cpython-37.pyc,, diff --git a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/WHEEL b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/WHEEL similarity index 100% rename from Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/WHEEL rename to Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/WHEEL diff --git a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/top_level.txt b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/top_level.txt similarity index 100% rename from Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.34.dist-info/top_level.txt rename to Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA-1.0.35.dist-info/top_level.txt diff --git a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/Orchestrator/Server.py b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/Orchestrator/Server.py index ab407598..0b490fb4 100644 --- a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/Orchestrator/Server.py +++ b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/Orchestrator/Server.py @@ -1,4 +1,6 @@ from http.server import BaseHTTPRequestHandler, HTTPServer +from socketserver import ThreadingMixIn +import threading import json from threading import Thread from . import Processor @@ -11,27 +13,6 @@ import os #for path operations from http import cookies global mGlobalDict from . import ServerSettings -#inGlobalDict -# "JSONConfigurationDict": -class RobotDaemonServer(Thread): - def __init__(self,name,inGlobalDict): - Thread.__init__(self) - self.name = name - # Update the global dict - ServerSettings.SettingsUpdate(mGlobalDict) - def run(self): - inServerAddress=""; - inPort = mGlobalDict["Server"]["ListenPort"]; - # Server settings - # Choose port 8080, for port 80, which is normally used for a http server, you need root access - server_address = (inServerAddress, inPort) - httpd = HTTPServer(server_address, testHTTPServer_RequestHandler) - # Logging - mGlobalDict["Logger"].info(f"Server init. Listen URL: {inServerAddress}, Listen port: {inPort}") - # Запуск адреса в браузере - os.system("explorer http://127.0.0.1:8081") - httpd.serve_forever() - #Authenticate function () # return dict # { @@ -380,6 +361,17 @@ class testHTTPServer_RequestHandler(BaseHTTPRequestHandler): lFlagUserAccess = UserAccessCheckBefore("POST", self) ###################################### if lFlagUserAccess: + lOrchestratorFolder = "\\".join(__file__.split("\\")[:-1]) + ############################ + #New server engine (url from global dict (URLList)) + ############################ + for lURLItem in mGlobalDict["Server"]["URLList"]: + #Check if all condition are applied + lFlagURLIsApplied=False + lFlagURLIsApplied=self.URLItemCheckDo(lURLItem, "POST") + if lFlagURLIsApplied: + self.ResponseDictSend() + return #Централизованная функция получения запросов/отправки if self.path == '/Utils/Processor': #ReadRequest @@ -405,4 +397,37 @@ class testHTTPServer_RequestHandler(BaseHTTPRequestHandler): self.send_response(403) # Send headers self.end_headers() - return \ No newline at end of file + return + #Logging + #!Turn it on to stop print in console + #def log_message(self, format, *args): + # return +class ThreadedHTTPServer(ThreadingMixIn, HTTPServer): + """Handle requests in a separate thread.""" + def finish_request(self, request, client_address): + request.settimeout(30) + # "super" can not be used because BaseServer is not created from object + HTTPServer.finish_request(self, request, client_address) +#inGlobalDict +# "JSONConfigurationDict": +class RobotDaemonServer(Thread): + def __init__(self,name,inGlobalDict): + Thread.__init__(self) + self.name = name + # Update the global dict + ServerSettings.SettingsUpdate(mGlobalDict) + def run(self): + inServerAddress=""; + inPort = mGlobalDict["Server"]["ListenPort"]; + # Server settings + # Choose port 8080, for port 80, which is normally used for a http server, you need root access + server_address = (inServerAddress, inPort) + #httpd = HTTPServer(server_address, testHTTPServer_RequestHandler) + # Logging + mGlobalDict["Logger"].info(f"Server init. Listen URL: {inServerAddress}, Listen port: {inPort}") + # Запуск адреса в браузере + os.system("explorer http://127.0.0.1:8081") + #httpd.serve_forever() + httpd = ThreadedHTTPServer(server_address, testHTTPServer_RequestHandler) + #print('Starting server, use to stop') + httpd.serve_forever() diff --git a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/Orchestrator/Web/Index.xhtml b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/Orchestrator/Web/Index.xhtml index 8830bcfd..f2efeae6 100644 --- a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/Orchestrator/Web/Index.xhtml +++ b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/Orchestrator/Web/Index.xhtml @@ -404,6 +404,22 @@ dataType: "text" }); } + mGlobal.Server= {} + mGlobal.Server.JSONGet=function(inMethod, inURL, inDataJSON, inCallback) + { + $.ajax({ + type: inMethod, + url: inURL, + data: JSON.stringify(inDataJSON), + success: + function(lData,l2,l3) + { + var lResponseJSON=JSON.parse(lData) + inCallback(lResponseJSON) + }, + dataType: "text" + }); + } ///////////////// ///Modal @@ -427,6 +443,9 @@ ///Установить HTML код $('.ui.modal.basic .content').html(lHTMLCode); $('.ui.modal.basic').modal('show'); + //DO widest modal for table with scroll x + $("div.ui.basic.modal.transition.visible.active.scrolling")[0].style["width"]="1300px" + $("div.ui.basic.modal.transition.visible.active.scrolling")[0].style["overflow"]="scroll" } //Service function mGlobal.Modal.TableFilter.FilterUpdate=function(inFilterValue) { @@ -549,7 +568,7 @@ {"Header":"Head 09","Description":"Test 21.02.2019"} ] } - mGlobal.Modal.ListFilter.Show(lTestData) + // mGlobal.Modal.ListFilter.Show(lTestData) }) ; diff --git a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/Orchestrator/Web/favicon.ico b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/Orchestrator/Web/favicon.ico index 27dd469630f8aa57a617634bd564672777cbf8e5..79e3b24aa2799582bd97e2e6b645f0e00bbef35c 100644 GIT binary patch literal 5430 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 diff --git a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/__init__.py b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/__init__.py index f27675a2..768d11db 100644 --- a/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/__init__.py +++ b/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/pyOpenRPA/__init__.py @@ -3,7 +3,7 @@ r""" The OpenRPA package (from UnicodeLabs) """ -__version__ = 'v1.0.34' +__version__ = 'v1.0.35' __all__ = [] __author__ = 'Ivan Maslov ' #from .Core import Robot \ No newline at end of file diff --git a/Sources/pyOpenRPA/__init__.py b/Sources/pyOpenRPA/__init__.py index f27675a2..768d11db 100644 --- a/Sources/pyOpenRPA/__init__.py +++ b/Sources/pyOpenRPA/__init__.py @@ -3,7 +3,7 @@ r""" The OpenRPA package (from UnicodeLabs) """ -__version__ = 'v1.0.34' +__version__ = 'v1.0.35' __all__ = [] __author__ = 'Ivan Maslov ' #from .Core import Robot \ No newline at end of file diff --git a/v1.0.34 b/v1.0.35 similarity index 100% rename from v1.0.34 rename to v1.0.35