diff --git a/Robot_Old/HowToUsePIP.txt b/Resources/Help/HelpHowToUsePIP.txt
similarity index 100%
rename from Robot_Old/HowToUsePIP.txt
rename to Resources/Help/HelpHowToUsePIP.txt
diff --git a/Robot_Old/HelpPywinauto.txt b/Resources/Help/HelpPywinauto.txt
similarity index 100%
rename from Robot_Old/HelpPywinauto.txt
rename to Resources/Help/HelpPywinauto.txt
diff --git a/Robot_Old/Help.txt b/Robot_Old/Help.txt
deleted file mode 100644
index d20923fc..00000000
--- a/Robot_Old/Help.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-Runone bitness from another
-Python 32 bit
-p = subprocess.Popen(['python','C:\\Abs\\archive\\scopeSrcUL\\OpenRPA\\winGUI.py'],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
-
-Python 64 bit
-p = subprocess.Popen(['C:\\Users\\Acer\\AppData\\Local\\Programs\\Python\\Python37\\python.exe','C:\\Abs\\archive\\scopeSrcUL\\OpenRPA\\winGUI.py'],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
-
-Parent process:
-p.stdin.write(b'Hello\n'))
-p.stdin.flush()
-//p.stdin.write(bytes("Hello" % x,"utf-8"))
-
-ChildProcess:
-sys.stdin.readline() (Ждет конец строки \n)
-sys.stdin.read() (Ждет конец строки EOF)
-
-Нужно научиться конверить все строки в коды символов, чтобы небыло ложных срабатываний
-.encode("zlib_codec")
-.decode("zlib_codec")
-
-Стандартизированный формат даты для JSON (от JS) - учет часового пояса производится отдельно тк JS хранит все даты в UTC
-2012-04-23T18:25:43.511Z
\ No newline at end of file
diff --git a/Robot_Old/Index.xhtml b/Robot_Old/Index.xhtml
deleted file mode 100644
index b30172ba..00000000
--- a/Robot_Old/Index.xhtml
+++ /dev/null
@@ -1,870 +0,0 @@
-
-
-
-
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
-
-
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
-
- Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
-
- Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
-
-
-
-
-
-
diff --git a/Robot_Old/WinPython dependencies.txt b/Robot_Old/WinPython dependencies.txt
deleted file mode 100644
index c49d41c8..00000000
--- a/Robot_Old/WinPython dependencies.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Winpython 320 portable module dependencies
-pip install pypiwin32
-pip install pywinauto
-
-run from root folder
-.\WPy32-3720\python-3.7.2\python.exe daemon.py
\ No newline at end of file
diff --git a/Robot_Old/daemon.py b/Robot_Old/daemon.py
deleted file mode 100644
index 089b5718..00000000
--- a/Robot_Old/daemon.py
+++ /dev/null
@@ -1,295 +0,0 @@
-from http.server import BaseHTTPRequestHandler, HTTPServer
-import pdb
-import pywinauto
-import json
-import subprocess
-import zlib
-import os
-
-#ProcessChildSendString
-def ProcessChildSendString(lProcess,lString):
- lByteString = zlib.compress(lString.encode("utf-8"))
- #Вернуть потенциальные \n
- lByteString = lByteString.replace(b'\n',b'{{n}}')
- #Отправить сообщение в дочерний процесс
- lProcess.stdin.write(lByteString+bytes('\n',"utf-8"))
- #print(str(lByteString+bytes('\n',"utf-8")))
- lProcess.stdin.flush()
- #Вернуть результат
- return
-
-#ProcessChildReadWaitString
-def ProcessChildReadWaitString(lProcess):
- #Ожидаем ответ от процесса
- lResult = lProcess.stdout.readline()
- #Обработка спец символов
- #print(b'NewLine: '+lResult)
- #Вернуть потенциальные \n
- lResult = lResult.replace(b'{{{n}}}',b'\n')
- #Вернуть \r
- lResult = lResult.replace(b'{{{r}}}',b'\r')
- #Вернуть \0
- lResult = lResult.replace(b'{{{0}}}',b'\0')
- #Вернуть \a
- lResult = lResult.replace(b'{{{a}}}',b'\a')
- #Вернуть \b
- lResult = lResult.replace(b'{{{b}}}',b'\b')
- #Вернуть \t
- lResult = lResult.replace(b'{{{t}}}',b'\t')
- #Вернуть \v
- lResult = lResult.replace(b'{{{v}}}',b'\v')
- #Вернуть \f
- lResult = lResult.replace(b'{{{f}}}',b'\f')
- #print("check")
- #print(str(lResult))
- lResult = zlib.decompress(lResult[0:-1])
- lResult = lResult.decode("utf-8")
- #Вернуть результат
- return lResult
-
-#ProcessChildSendObject
-def ProcessChildSendObject(inProcess,inObject):
- #Выполнить отправку сконвертированного объекта в JSON
- ProcessChildSendString(inProcess,json.dumps(inObject))
- return
-#ProcessChildReadWaitObject
-def ProcessChildReadWaitObject(inProcess):
- #Выполнить получение и разбор объекта
- lResult=json.loads(ProcessChildReadWaitString(inProcess));
- return lResult;
-
-#ProcessChildSendReadWaitString
-def ProcessChildSendReadWaitString(lProcess,lString):
- ProcessChildSendString(lProcess,lString)
- #Вернуть результат
- return ProcessChildReadWaitString(lProcess)
-#ProcessChildSendReadWaitObject
-def ProcessChildSendReadWaitObject(inProcess,inObject):
- ProcessChildSendObject(inProcess,inObject)
- #Вернуть результат
- return ProcessChildReadWaitString(inProcess)
-
-#pywinauto
-def checkBitnessIs64():
- lResult=True
-
- return lResult;
-
-
-def GetControl(inControlSpecificationArray):
- #Выполнить идентификацию объектов, если передан массив
- lResultList=[];
- if len(inControlSpecificationArray) > 0:
- #Выполнить подключение к объекту
- lRPAApplication = pywinauto.Application()
- #Проверка разрядности
-
- lRPAApplication.connect(**inControlSpecificationArray[0])
- lTempObject=lRPAApplication.window(**inControlSpecificationArray[0])
-
- #Циклическое прохождение к недрам объекта
- for lWindowSpecification in inControlSpecificationArray[1:]:
- lTempObject=lTempObject.window(**lWindowSpecification)
- #Получить инфо объект
- lTempObjectInfo = lTempObject.wrapper_object().element_info
- #Добавить информацию об обнаруженом объекте
- lResultList.append({"name":lTempObjectInfo.name, "rich_text":lTempObjectInfo.rich_text, "process_id":lTempObjectInfo.process_id,"handle":lTempObjectInfo.handle});
- return lResultList
-
-def GetChildControls(inControlSpecificationArray):
- #Выполнить идентификацию объектов, если передан массив
- lResultList=[];
- if len(inControlSpecificationArray) > 0:
- #Выполнить подключение к объекту
- lRPAApplication = pywinauto.Application()
- lRPAApplication.connect(**inControlSpecificationArray[0])
- lTempObject=lRPAApplication.window(**inControlSpecificationArray[0])
-
- #Циклическое прохождение к недрам объекта
- for lWindowSpecification in inControlSpecificationArray[1:]:
- lTempObject=lTempObject.window(**lWindowSpecification)
- #Получить инфо объект
- lTempObjectInfo = lTempObject.wrapper_object().element_info
- #Добавить информацию об обнаруженом объекте
- lResultList.append({"name":lTempObjectInfo.name, "rich_text":lTempObjectInfo.rich_text, "process_id":lTempObjectInfo.process_id,"handle":lTempObjectInfo.handle});
- return lResultList
-def GetWindowList(inWindowSpecificationArray = []):
- #Выполнить идентификацию объектов, если передан массив
- lResultList={};
- if len(inWindowSpecificationArray) > 0:
- #Выполнить подключение к объекту
- lRPAApplication = pywinauto.Application()
- lTempObject=lRPAApplication.connect(**inWindowSpecificationArray[0])
-
- #Циклическое прохождение к недрам объекта
- for lWindowSpecification in inWindowSpecificationArray[1:]:
- lTempObject=lTempObject.window(**lWindowSpecification)
- lTempObjectInfo = lTempObject.wrapper_object().element_info
- lResultList2.append({"name":lTempObjectInfo.name, "rich_text":lTempObjectInfo.rich_text, "process_id":lTempObjectInfo.process_id,"handle":lTempObjectInfo.handle});
-
- #Получить список объектов
- lResultList=pywinauto.findwindows.find_elements()
- else:
- #Получить список объектов
- lResultList=pywinauto.findwindows.find_elements()
- lResultList2=[]
- for lI in lResultList:
- lResultList2.append({"name":lI.name, "rich_text":lI.rich_text, "process_id":lI.process_id,"handle":lI.handle});
- return lResultList2
-
-# HTTPRequestHandler class
-class testHTTPServer_RequestHandler(BaseHTTPRequestHandler):
- #ResponseContentTypeFile
- def SendResponseContentTypeFile(self,inContentType,inFilePath):
- # Send response status code
- self.send_response(200)
- # Send headers
- self.send_header('Content-type',inContentType)
- self.end_headers()
- lFileObject = open(inFilePath, "rb")
- # Write content as utf-8 data
- self.wfile.write(lFileObject.read())
- #Закрыть файловый объект
- lFileObject.close()
- # GET
- def do_GET(self):
- #Мост между файлом и http запросом (новый формат)
- if self.path == "/":
- self.SendResponseContentTypeFile('text/html',"Index.xhtml")
- #Мост между файлом и http запросом (новый формат)
- if self.path == '/3rdParty/Semantic-UI-CSS-master/semantic.min.css':
- self.SendResponseContentTypeFile('text/css',"..\\Resources\\Web\\Semantic-UI-CSS-master\\semantic.min.css")
- #Мост между файлом и http запросом (новый формат)
- if self.path == '/3rdParty/Semantic-UI-CSS-master/semantic.min.js':
- self.SendResponseContentTypeFile('application/javascript',"..\\Resources\\Web\\Semantic-UI-CSS-master\\semantic.min.js")
- #Мост между файлом и http запросом (новый формат)
- if self.path == '/3rdParty/jQuery/jquery-3.1.1.min.js':
- self.SendResponseContentTypeFile('application/javascript',"..\\Resources\\Web\\jQuery\\jquery-3.1.1.min.js")
- #Мост между файлом и http запросом (новый формат)
- if self.path == '/3rdParty/Google/LatoItalic.css':
- self.SendResponseContentTypeFile('font/css',"..\\Resources\\Web\\Google\\LatoItalic.css")
- #Мост между файлом и http запросом (новый формат)
- if self.path == '/3rdParty/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.woff2':
- self.SendResponseContentTypeFile('font/woff2',"..\\Resources\\Web\\Semantic-UI-CSS-master\\themes\\default\\assets\\fonts\\icons.woff2")
- #Мост между файлом и http запросом (новый формат)
- if self.path == '/favicon.ico':
- self.SendResponseContentTypeFile('image/x-icon',"favicon.ico")
- #Action ObjectInspector GetObjectList
- if self.path == '/ObjectDetector/JSONGetWindowList':
- #ReadRequest
- #lInputByteArray=self.rfile.read()
- #print(str(len(os.stat(self.rfile).st_size)))
- # Send response status code
- self.send_response(200)
- # Send headers
- self.send_header('Content-type','application/json')
- self.end_headers()
- # Send message back to client
- #{'functionName':'', 'argsArray':[]}
- lRequestObject={'functionName':'ElementGetChildElementList','argsArray':[]}
- #Отправить запрос в дочерний процесс, который отвечает за работу с Windows окнами
- ProcessChildSendObject(p,lRequestObject)
- #Получить ответ от дочернего процесса
- lResponseObject=ProcessChildReadWaitObject(p)
- message = json.dumps(lResponseObject)
- # Write content as utf-8 data
- self.wfile.write(bytes(message, "utf8"))
- # POST
- def do_POST(self):
- #Action ObjectInspector GetObjectList
- if self.path == '/ObjectDetector/JSONGetWindowListArgs':
- #ReadRequest
- lInputByteArrayLength = int(self.headers.get('Content-Length'))
- lInputByteArray=self.rfile.read(lInputByteArrayLength)
- #Превращение массива байт в объект
- print(lInputByteArray.decode('utf8'))
- lInputObject=json.loads(lInputByteArray.decode('utf8'))
-
-
- # Send response status code
- self.send_response(200)
-
- # Send headers
- self.send_header('Content-type','application/json')
- self.end_headers()
-
- # Send message back to client
- #{'functionName':'', 'argsArray':[]}
- lRequestObject={'functionName':'ElementGetChildElementList','argsArray':lInputObject}
-
- #Отправить запрос в дочерний процесс, который отвечает за работу с Windows окнами
- ProcessChildSendObject(p,lRequestObject)
-
- #Получить ответ от дочернего процесса
- lResponseObject=ProcessChildReadWaitObject(p)
- print(str(lResponseObject))
- message = json.dumps(lResponseObject)
-
- # Write content as utf-8 data
- self.wfile.write(bytes(message, "utf8"))
- if self.path == '/GUIAction':
- #ReadRequest
- lInputByteArrayLength = int(self.headers.get('Content-Length'))
- lInputByteArray=self.rfile.read(lInputByteArrayLength)
- #Превращение массива байт в объект
- lInputObject=json.loads(lInputByteArray.decode('utf8'))
- # Send response status code
- self.send_response(200)
- # Send headers
- self.send_header('Content-type','application/json')
- self.end_headers()
- # Send message back to client
- #{'functionName':'', 'argsArray':[]}
- #pdb.set_trace()
- lRequestObject=lInputObject
- #Отправить запрос в дочерний процесс, который отвечает за работу с Windows окнами
- ProcessChildSendObject(p,lRequestObject)
- #Получить ответ от дочернего процесса
- lResponseObject=ProcessChildReadWaitObject(p)
- message = json.dumps(lResponseObject)
- # Write content as utf-8 data
- self.wfile.write(bytes(message, "utf8"))
- if self.path == '/GUIActionList':
- #ReadRequest
- lInputByteArrayLength = int(self.headers.get('Content-Length'))
- lInputByteArray=self.rfile.read(lInputByteArrayLength)
- #Превращение массива байт в объект
- lInputObject=json.loads(lInputByteArray.decode('utf8'))
- # Send response status code
- self.send_response(200)
- # Send headers
- self.send_header('Content-type','application/json')
- self.end_headers()
- # Send message back to client
- #{'functionName':'', 'argsArray':[]}
- lRequestObject=lInputObject
- lOutputObject=[]
- #pdb.set_trace()
- #Циклическая отправка запросов в дочерний объект
- for lItem in lRequestObject:
- #Отправить запрос в дочерний процесс, который отвечает за работу с Windows окнами
- ProcessChildSendObject(p,lItem)
- #Получить ответ от дочернего процесса
- lResponseObject=ProcessChildReadWaitObject(p)
- #Добавить в выходной массив
- lOutputObject.append(lResponseObject)
- #Сформировать текстовый ответ
- message = json.dumps(lOutputObject)
- # Write content as utf-8 data
- self.wfile.write(bytes(message, "utf8"))
- return
-
-def run():
- print('starting server...')
- # Server settings
- # Choose port 8080, for port 80, which is normally used for a http server, you need root access
- server_address = ('127.0.0.1', 8081)
- httpd = HTTPServer(server_address, testHTTPServer_RequestHandler)
- print('running server...')
- httpd.serve_forever()
-
-#Start childprocess 32 bit
-p = subprocess.Popen(['..\\Resources\\WPy32-3720\\python-3.7.2\\python.exe','winGUI.py'],stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
-
-#print(ChildProcessReadWaitString(p))
-run()
diff --git a/Robot_Old/favicon.ico b/Robot_Old/favicon.ico
deleted file mode 100644
index 27dd4696..00000000
Binary files a/Robot_Old/favicon.ico and /dev/null differ
diff --git a/Robot_Old/general.py b/Robot_Old/general.py
deleted file mode 100644
index ee28f066..00000000
--- a/Robot_Old/general.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#valueVerify
-#inTypeClass int, str, dict, list, NoneType
-def valueVerify(inValue,inTypeClass,inNotValidValue):
- lResult = inNotValidValue
- if inValue is not None:
- if type(inValue) == inTypeClass:
- lResult = inValue
- #Вернуть результат
- return lResult
-#valueVerifyDict
-def valueVerifyDict(inDict,inKey,inTypeClass,inNotValidValue):
- lResult = inNotValidValue
- if inKey in inDict:
- lResult = valueVerify(inDict[inKey],inTypeClass,inNotValidValue)
- return lResult
-#valueVerifyList
-def valueVerifyList(inList,inIndex,inTypeClass,inNotValidValue):
- lResult = inNotValidValue
- if inIndex in inList:
- lResult = valueVerify(inList[inIndex],inTypeClass,inNotValidValue)
- return lResult
diff --git a/Robot_Old/internalProcess.py b/Robot_Old/internalProcess.py
deleted file mode 100644
index 57664249..00000000
--- a/Robot_Old/internalProcess.py
+++ /dev/null
@@ -1,137 +0,0 @@
-import json
-import subprocess
-import zlib
-import os
-############################################
-####Межпроцессное взаимодействие
-############################################
-#ProcessParentReadWaitString
-def ProcessParentReadWaitString():
- #Выполнить чтение строки
- #ctypes.windll.user32.MessageBoxW(0, "Hello", "Your title", 1)
- lResult = sys.stdin.buffer.readline()
- #Вернуть потенциальные \n
- lResult = lResult.replace(b'{{n}}',b'\n')
- lResult = zlib.decompress(lResult[0:-1])
- lResult = lResult.decode("utf-8")
- #Вернуть результат
- return lResult
-
-#ParentProcessWriteString
-def ProcessParentWriteString(lString):
- lByteString = zlib.compress(lString.encode("utf-8"))
- #Выполнить отправку строки в родительский процесс
- #Вернуть потенциальные \n
- lByteString = lByteString.replace(b'\n',b'{{{n}}}')
- #Вернуть \r
- lByteString = lByteString.replace(b'\r',b'{{{r}}}')
- #Вернуть \0
- lByteString = lByteString.replace(b'\0',b'{{{0}}}')
- #Вернуть \a
- lByteString = lByteString.replace(b'\a',b'{{{a}}}')
- #Вернуть \b
- lByteString = lByteString.replace(b'\b',b'{{{b}}}')
- #Вернуть \t
- lByteString = lByteString.replace(b'\t',b'{{{t}}}')
- #Вернуть \v
- lByteString = lByteString.replace(b'\v',b'{{{v}}}')
- #Вернуть \f
- lByteString = lByteString.replace(b'\f',b'{{{f}}}')
- ############################
- #print(b"Result: "+lByteString)
- #lByteString= b'x\x9c\xdd\x95]O\xc20\x14\x86\xffJ\xb3[5\xa1Cqz\x07\xc4\xe8\x8d\x1fQ\x13.\x0cYJw\xb6U\xbav\xe9\xce"\x84\xf0\xdfm\'"\xb8\xa0L%Q\xb3\x9b\xf6=\xdfO\x9a\xb3\x99\x17\x97\x8a\xa3\xd0\xea\x8ae\xe0\x9d\x12\xaf[\xa2\xce\x98S\xee\x80\x19\x9e^\xea\xb2\x803\t\x19(\xbc\x10`\x9c6\xf5\xf6\x89\xc7LRt\x8daS\x1b\xf5\xf00\xf3\xd4"\xc1u\x0e\xea\xf6\xa6K\x0e\xc8\xb9\xd6\x89\x04\xd2O\x8d\xb6&\x1bb\x04OC\x84\t~\xe2\x97\x1b\xcd\xa1(B\x11YG\xdaj\xfb\xc1\x9b\xb8\xa2\xa4LE\xd2\xd5\xa4\xf6\xdenY\x85Kf\xc3^;yI\x18\x0eD\x94\x00\x0e\x84{{n}}\xa9K\xce\xb5B\xa3e\x88\xd3\xbc\xf2Z\xd5\xaa\x82\xaa\x94\xd25\x0b\x1c\x99J\xaa\x023OB\xec\xbavEP\xe7\x8b\x93\x11I\xeaTz\xe2\xbb\xebH\xa3eW5\xe8\xb7\xe6\xce^*\x14\xb6\x83e\xda\xf9phe]b^\xe2\xf5\xe8\xd1Vp\xf0\xfe.\xbb\x1b\xa6`\x87\xfc8\x1a\x9bSE0q\xa2\x15\xeer\xe0"\x16\xbcz\x9f\xfdT\xc8h\x9d\xdf\xc7\xd4\xbe\xcdj1\xd9:\xa9\x1f\xe1B7\x81\xa1\xef\xc0\xd0:\x98\xc3-\xc0\xd4X\xfc\xda\xf1i\xbb\xe9\xfc\xdb<\x8c\xff2\x7f\'\xa8\x8d\xdf\xdab\xfc\x9e\xd6\xe3\x8c\x99qQ\xe3\xb0f\xd9\x19\x90{\xade\x8f\x99/3\xa1AC(\xfe\x16P\x06F \x90\xb3\t\x07Iba\x17\x83P\xa4\xbf\xb7G\x9e\x04\xa6vE\x13\xb6\xfc\x13\xd6\xa85\x0b\xdd\x19\xd6^i\x11\xa8FT;G\xfe\x06\xac\xc1q\xb0N\x956\xd84\xae\xe4p\xbe\xfa=\x03\x01\xce\x95\x9a'
- #lByteString = b"x\x9c\xb5\x91\xcfO\xc3 \x14\xc7\xff\x95\xa6\xd7uI\xf9Q\x8a\xde\xd4\x93\x07\xbdx\xf00\x97\x05)[I(\x90\x8ef3\xcb\xfew\x81M\xbb\xd9M]\x8c!y\xd0\xf7}\xbc\xef\xe3\xd3\xc9&\xd5\xac\x11\xe9u\x92j\xb1J@2N\x1e\x8d\x13\x96U\xa3Q\x9a%i+y=sb\xed\xceV\xd8\xd6p\xb1\\\xced\xe5K{{n}}\x80`\x9f\xeb\x135\xd3\x95{{n}}.\x08RR\xe4>\xc3\x15\xf3\x97>\xbc\x8f:r\xa3]k\xd4\xcc\xbd\xd9(>K]\x99\xd5\xa1\x12\xbd\x00\xc6\xb0\xcc\xcb0\xa4\xe0\x8e\xe9E4\xd8\xa4J\xcc\xc3\xb44\x07^r\xc6\xfa3\x04(\xbeeQ\x07\x05P\x1a\xa4W\xe3\x9ci\xfc\xf7\x15(\xb6A\xee\xb4\x93\x8d\xd85\x9f`?\xf6n\xd8i0v\xadw\xd5\x95X\x87n>\xf1d\x05\x97s\xc9\x99\x93F\xdf\xd5R\xc5K=\xcc\x1bk\xd5^\x1d`\xfc\xa2]\x06PwJ\r\xf0\x9d\xa2\xf6 tw\xcb\xda\x01\xb6}\x83\xd3\xcc\x00\xec\x99\x15\xf4\x88Y\x99\x1f2\x83\xb4\xfc\x8e\x99\xdf\xb3d\x0c\x01.1E\x04\x93l\xff\x8e\xcf\x7f6\xa4Z\xfc\x82\xeaK\x97c BD\xf3\x101\x89g\xba\x8b\x03\xd0?\x97\xff#\xfb{'\x9a\x8b\xe0\x03H\xc89\xfa\x08\x15\x7f\xa2\x0f >\x80_\x0e\xe0\x93\xb3\xf0\xc3\xc4\xd3m\\\xef\xf8\x958\xa0"
- #lt=open("logSendByteStringWithoutN.log","wb")
- #lt.write(lByteString)
- #lt.close()
- ############################
- sys.stdout.buffer.write(lByteString+bytes("\n","utf-8"))
- sys.stdout.flush();
- return
-#ProcessParentWriteObject
-def ProcessParentWriteObject(inObject):
- #Выполнить отправку сконвертированного объекта в JSON
- ProcessParentWriteString(json.dumps(inObject))
- return
-#ProcessParentReadWaitObject
-def ProcessParentReadWaitObject():
- #Выполнить получение и разбор объекта
- lResult=json.loads(ProcessParentReadWaitString());
- return lResult;
-
-#ProcessChildSendString
-def ProcessChildSendString(lProcess,lString):
- lByteString = zlib.compress(lString.encode("utf-8"))
- #Вернуть потенциальные \n
- lByteString = lByteString.replace(b'\n',b'{{n}}')
- #Отправить сообщение в дочерний процесс
- lProcess.stdin.write(lByteString+bytes('\n',"utf-8"))
- #print(str(lByteString+bytes('\n',"utf-8")))
- lProcess.stdin.flush()
- #Вернуть результат
- return
-
-#ProcessChildReadWaitString
-def ProcessChildReadWaitString(lProcess):
- #Ожидаем ответ от процесса
- lResult = lProcess.stdout.readline()
- #Обработка спец символов
- #print(b'NewLine: '+lResult)
- #Вернуть потенциальные \n
- lResult = lResult.replace(b'{{{n}}}',b'\n')
- #Вернуть \r
- lResult = lResult.replace(b'{{{r}}}',b'\r')
- #Вернуть \0
- lResult = lResult.replace(b'{{{0}}}',b'\0')
- #Вернуть \a
- lResult = lResult.replace(b'{{{a}}}',b'\a')
- #Вернуть \b
- lResult = lResult.replace(b'{{{b}}}',b'\b')
- #Вернуть \t
- lResult = lResult.replace(b'{{{t}}}',b'\t')
- #Вернуть \v
- lResult = lResult.replace(b'{{{v}}}',b'\v')
- #Вернуть \f
- lResult = lResult.replace(b'{{{f}}}',b'\f')
- #print("check")
- #print(str(lResult))
- lResult = zlib.decompress(lResult[0:-1])
- lResult = lResult.decode("utf-8")
- #Вернуть результат
- return lResult
-
-#ProcessChildSendObject
-def ProcessChildSendObject(inProcess,inObject):
- #Выполнить отправку сконвертированного объекта в JSON
- ProcessChildSendString(inProcess,json.dumps(inObject))
- return
-#ProcessChildReadWaitObject
-def ProcessChildReadWaitObject(inProcess):
- #Выполнить получение и разбор объекта
- lResult=json.loads(ProcessChildReadWaitString(inProcess));
- return lResult;
-
-#ProcessChildSendReadWaitString
-def ProcessChildSendReadWaitString(lProcess,lString):
- ProcessChildSendString(lProcess,lString)
- #Вернуть результат
- return ProcessChildReadWaitString(lProcess)
-#ProcessChildSendReadWaitObject
-def ProcessChildSendReadWaitObject(inProcess,inObject):
- ProcessChildSendObject(inProcess,inObject)
- #Вернуть результат
- return ProcessChildReadWaitString(inProcess)
-#ProcessChildSendReadWaitQueue
-#QueueObject - [Object,Object,...]
-def ProcessChildSendReadWaitQueueObject(inProcess,inQueueObject):
- lOutputObject=[]
- #Циклическая отправка запросов в дочерний объект
- for lItem in inQueueObject:
- #Отправить запрос в дочерний процесс, который отвечает за работу с Windows окнами
- ProcessChildSendObject(inProcess,lItem)
- #Получить ответ от дочернего процесса
- lResponseObject=ProcessChildReadWaitObject(inProcess)
- #Добавить в выходной массив
- lOutputObject.append(lResponseObject)
- #Сформировать ответ
- return lOutputObject
diff --git a/Robot_Old/logSendByteStringWithoutN.log b/Robot_Old/logSendByteStringWithoutN.log
deleted file mode 100644
index 94a26386..00000000
--- a/Robot_Old/logSendByteStringWithoutN.log
+++ /dev/null
@@ -1 +0,0 @@
-xn0DH{{{t}}}zC*{{{n}}}*.$9BC)Hmfޙj#QY3{?kEZÁ?0.\^M'rgn>%ۄ؋T8K#ZqJ)JTed݄BL8{{{t}}}{{{t}}}R{{{v}}}ڹָ\KW*Wʤ,AguukmMA0y{5|OA[^N8߭E{¤ڠ_Iqd{{{v}}}yb0oL#F t!Z]@l|'Va4Q"t{{{v}}}%я| :JGlH55.Ӛ[ؿ
\ No newline at end of file
diff --git a/Robot_Old/pywinauto.findwindows — pywinauto 0.6.6 documentation.html b/Robot_Old/pywinauto.findwindows — pywinauto 0.6.6 documentation.html
deleted file mode 100644
index 2e61563c..00000000
--- a/Robot_Old/pywinauto.findwindows — pywinauto 0.6.6 documentation.html
+++ /dev/null
@@ -1,410 +0,0 @@
-
-
-
-
-
-
-