From 285262ad7700697da68478b82d6f774aeaa64d8a Mon Sep 17 00:00:00 2001 From: Ivan Maslov Date: Sun, 18 Sep 2022 22:31:47 +0300 Subject: [PATCH] Create Robot quickstart + minor fixes in Jupyter (add nbextension allow on the new PC) --- .../Branch_devIvan_master.cmd | 0 GITClean.cmd => Git/Clean.cmd | 0 GITPull.cmd => Git/Pull.cmd | 0 .../RevisionLastUpdate.cmd | 0 ...er_contrib_core-0.3.3-py2.py3-none-any.whl | Bin 0 -> 18063 bytes .../jupyter_core-4.6.3-py2.py3-none-any.whl | Bin 0 -> 83304 bytes Robot/Quickstart/init-jupyter-nbextension.cmd | 8 + Robot/Quickstart/init-python-env.cmd | 7 + .../Quickstart/robot.ipynb | 0 .../Quickstart/start-jupyter.cmd | 0 .../Quickstart/start-jupyter.sh | 0 .../AutoLogon(ProtectedPassword).zip | Bin .../Configure/ubuntu-kde/add_robot.sh | 0 .../Configure/ubuntu-kde/configure.sh | 0 .../Configure/ubuntu-kde/sshd_config | 0 .../Jupyter-notebooks/Clipboard.ipynb | 0 Tools/Jupyter-notebooks/Keyboard.ipynb | 470 ++++++++++++++++++ .../Jupyter-notebooks/Mouse.ipynb | 0 .../Jupyter-notebooks/Sandbox.ipynb | 0 .../Jupyter-notebooks/Screen.ipynb | 0 .../Jupyter-notebooks/Untitled.ipynb | 0 {Utils => Tools}/Jupyter-notebooks/Web.ipynb | 0 Tools/Jupyter-notebooks/init-nbextension.cmd | 8 + Tools/Jupyter-notebooks/init-python-env.cmd | 6 + Tools/Jupyter-notebooks/start.cmd | 4 + Tools/Jupyter-notebooks/start.sh | 2 + {Utils => Tools}/Logout.txt | 0 {Utils => Tools}/PythonDebug_64.cmd | 0 {Utils => Tools}/RobotDB/AccessUser_ND.py | 0 .../RobotDB/AccessUser_SuperToken.py | 0 {Utils => Tools}/RobotDB/DB.db | Bin {Utils => Tools}/RobotDB/DBBlank.db | Bin {Utils => Tools}/RobotDB/SettingsExample.py | 0 {Utils => Tools}/RobotDB/Test.xlsx | Bin .../RobotDB/pyOpenRPA.Tools.RobotDB_x64.cmd | 0 {Utils => Tools}/RobotLogout.bat | 0 .../RobotRDPActive/CheckAutoLogon.txt | 0 .../SettingsRobotRDPActiveExample.py | 0 .../pyOpenRPA.Tools.RobotRDPActive_x64.cmd | 0 .../pyOpenRPA.Tools.RobotScreenActive_x64.cmd | 0 .../RobotScreenSpy/TechScreenSpy.py | 0 .../RobotScreenSpy/TechScreenSpyPython.cmd | 0 .../RobotScreenSpy/TechScreenSpyPythonw.cmd | 0 .../SafeSource/DistrCreate_x64.cmd | 0 .../SafeSource/pyRobotName_Safe.py | 0 .../SafeSource/pyRobotName_Safe_x64_Run.cmd | 0 {Utils => Tools}/TestSendRequest/Main.py | 0 .../TestSendRequest/SendRequest.cmd | 0 {Utils => Tools}/TestSendRequest/Settings.py | 0 .../ToolScreenScrapRecognize/Main.py | 0 .../ToolScreenScrapRecognize_x64.cmd | 0 {Utils => Tools}/Usage.py | 0 {Utils => Tools}/WebTest.py | 0 Utils/Jupyter-notebooks/test.txt | 8 - Utils/PythonDebug_32.cmd | 3 - Utils/pyOpenRPA.Robot_x32.cmd | 3 - 56 files changed, 505 insertions(+), 14 deletions(-) rename Utils/GITBranch_devIvan_master.cmd => Git/Branch_devIvan_master.cmd (100%) mode change 100755 => 100644 rename GITClean.cmd => Git/Clean.cmd (100%) mode change 100755 => 100644 rename GITPull.cmd => Git/Pull.cmd (100%) mode change 100755 => 100644 rename Utils/GITRevisionLastUpdate.cmd => Git/RevisionLastUpdate.cmd (100%) mode change 100755 => 100644 create mode 100644 Resources/PyPackages/jupyter_contrib_core-0.3.3-py2.py3-none-any.whl create mode 100644 Resources/PyPackages/jupyter_core-4.6.3-py2.py3-none-any.whl create mode 100644 Robot/Quickstart/init-jupyter-nbextension.cmd create mode 100644 Robot/Quickstart/init-python-env.cmd rename Utils/Jupyter-notebooks/Keyboard.ipynb => Robot/Quickstart/robot.ipynb (100%) mode change 100755 => 100644 rename Utils/Jupyter-notebooks/start.cmd => Robot/Quickstart/start-jupyter.cmd (100%) mode change 100755 => 100644 rename Utils/Jupyter-notebooks/start.sh => Robot/Quickstart/start-jupyter.sh (100%) mode change 100755 => 100644 rename {Utils => Tools}/AutoLogon(ProtectedPassword).zip (100%) rename {Utils => Tools}/Configure/ubuntu-kde/add_robot.sh (100%) rename {Utils => Tools}/Configure/ubuntu-kde/configure.sh (100%) rename {Utils => Tools}/Configure/ubuntu-kde/sshd_config (100%) rename {Utils => Tools}/Jupyter-notebooks/Clipboard.ipynb (100%) create mode 100755 Tools/Jupyter-notebooks/Keyboard.ipynb rename {Utils => Tools}/Jupyter-notebooks/Mouse.ipynb (100%) rename {Utils => Tools}/Jupyter-notebooks/Sandbox.ipynb (100%) rename {Utils => Tools}/Jupyter-notebooks/Screen.ipynb (100%) rename {Utils => Tools}/Jupyter-notebooks/Untitled.ipynb (100%) rename {Utils => Tools}/Jupyter-notebooks/Web.ipynb (100%) create mode 100644 Tools/Jupyter-notebooks/init-nbextension.cmd create mode 100644 Tools/Jupyter-notebooks/init-python-env.cmd create mode 100755 Tools/Jupyter-notebooks/start.cmd create mode 100755 Tools/Jupyter-notebooks/start.sh rename {Utils => Tools}/Logout.txt (100%) rename {Utils => Tools}/PythonDebug_64.cmd (100%) rename {Utils => Tools}/RobotDB/AccessUser_ND.py (100%) rename {Utils => Tools}/RobotDB/AccessUser_SuperToken.py (100%) rename {Utils => Tools}/RobotDB/DB.db (100%) rename {Utils => Tools}/RobotDB/DBBlank.db (100%) rename {Utils => Tools}/RobotDB/SettingsExample.py (100%) rename {Utils => Tools}/RobotDB/Test.xlsx (100%) rename {Utils => Tools}/RobotDB/pyOpenRPA.Tools.RobotDB_x64.cmd (100%) rename {Utils => Tools}/RobotLogout.bat (100%) rename {Utils => Tools}/RobotRDPActive/CheckAutoLogon.txt (100%) rename {Utils => Tools}/RobotRDPActive/SettingsRobotRDPActiveExample.py (100%) rename {Utils => Tools}/RobotRDPActive/pyOpenRPA.Tools.RobotRDPActive_x64.cmd (100%) rename {Utils => Tools}/RobotScreenActive/pyOpenRPA.Tools.RobotScreenActive_x64.cmd (100%) rename {Utils => Tools}/RobotScreenSpy/TechScreenSpy.py (100%) rename {Utils => Tools}/RobotScreenSpy/TechScreenSpyPython.cmd (100%) rename {Utils => Tools}/RobotScreenSpy/TechScreenSpyPythonw.cmd (100%) rename {Utils => Tools}/SafeSource/DistrCreate_x64.cmd (100%) rename {Utils => Tools}/SafeSource/pyRobotName_Safe.py (100%) rename {Utils => Tools}/SafeSource/pyRobotName_Safe_x64_Run.cmd (100%) rename {Utils => Tools}/TestSendRequest/Main.py (100%) rename {Utils => Tools}/TestSendRequest/SendRequest.cmd (100%) rename {Utils => Tools}/TestSendRequest/Settings.py (100%) rename {Utils => Tools}/ToolScreenScrapRecognize/Main.py (100%) rename {Utils => Tools}/ToolScreenScrapRecognize/ToolScreenScrapRecognize_x64.cmd (100%) rename {Utils => Tools}/Usage.py (100%) rename {Utils => Tools}/WebTest.py (100%) delete mode 100755 Utils/Jupyter-notebooks/test.txt delete mode 100755 Utils/PythonDebug_32.cmd delete mode 100755 Utils/pyOpenRPA.Robot_x32.cmd diff --git a/Utils/GITBranch_devIvan_master.cmd b/Git/Branch_devIvan_master.cmd old mode 100755 new mode 100644 similarity index 100% rename from Utils/GITBranch_devIvan_master.cmd rename to Git/Branch_devIvan_master.cmd diff --git a/GITClean.cmd b/Git/Clean.cmd old mode 100755 new mode 100644 similarity index 100% rename from GITClean.cmd rename to Git/Clean.cmd diff --git a/GITPull.cmd b/Git/Pull.cmd old mode 100755 new mode 100644 similarity index 100% rename from GITPull.cmd rename to Git/Pull.cmd diff --git a/Utils/GITRevisionLastUpdate.cmd b/Git/RevisionLastUpdate.cmd old mode 100755 new mode 100644 similarity index 100% rename from Utils/GITRevisionLastUpdate.cmd rename to Git/RevisionLastUpdate.cmd diff --git a/Resources/PyPackages/jupyter_contrib_core-0.3.3-py2.py3-none-any.whl b/Resources/PyPackages/jupyter_contrib_core-0.3.3-py2.py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..755dc6172eea6770f18ef727ff8198e3de91f184 GIT binary patch literal 18063 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 KA|US{pZ-6SRe!7i literal 0 HcmV?d00001 diff --git a/Resources/PyPackages/jupyter_core-4.6.3-py2.py3-none-any.whl b/Resources/PyPackages/jupyter_core-4.6.3-py2.py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..7c33bd9fa92d300b0b0d50a3aaefa1764a897512 GIT binary patch literal 83304 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%0Dn0s%$QRYn|Ab+AD98V< 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 VU>ESalS%=o1^ZhG9AF0+@IUV7q+kF5 literal 0 HcmV?d00001 diff --git a/Robot/Quickstart/init-jupyter-nbextension.cmd b/Robot/Quickstart/init-jupyter-nbextension.cmd new file mode 100644 index 00000000..9c77902c --- /dev/null +++ b/Robot/Quickstart/init-jupyter-nbextension.cmd @@ -0,0 +1,8 @@ +init-python-env.cmd +pip uninstall jupyter-core +pip uninstall jupyter-contrib-core +pip install "..\..\Resources\PyPackages\jupyter_core-4.6.3-py2.py3-none-any.whl" +pip install "..\..\Resources\PyPackages\jupyter_contrib_core-0.3.3-py2.py3-none-any.whl" +jupyter contrib nbextension install --user +jupyter nbextension enable Hinterland +jupyter nbextension enable highlighter \ No newline at end of file diff --git a/Robot/Quickstart/init-python-env.cmd b/Robot/Quickstart/init-python-env.cmd new file mode 100644 index 00000000..bfd7b7d3 --- /dev/null +++ b/Robot/Quickstart/init-python-env.cmd @@ -0,0 +1,7 @@ +chcp 65001 +SET CD_PREV = %cd% +cd /d "%~dp0..\..\Resources\WPy64-3720\python-3.7.2.amd64" +set PATH=%cd%;%cd%\Scripts;%PATH% +cd %CD_PREV% +echo %~dp2 +cmd \ No newline at end of file diff --git a/Utils/Jupyter-notebooks/Keyboard.ipynb b/Robot/Quickstart/robot.ipynb old mode 100755 new mode 100644 similarity index 100% rename from Utils/Jupyter-notebooks/Keyboard.ipynb rename to Robot/Quickstart/robot.ipynb diff --git a/Utils/Jupyter-notebooks/start.cmd b/Robot/Quickstart/start-jupyter.cmd old mode 100755 new mode 100644 similarity index 100% rename from Utils/Jupyter-notebooks/start.cmd rename to Robot/Quickstart/start-jupyter.cmd diff --git a/Utils/Jupyter-notebooks/start.sh b/Robot/Quickstart/start-jupyter.sh old mode 100755 new mode 100644 similarity index 100% rename from Utils/Jupyter-notebooks/start.sh rename to Robot/Quickstart/start-jupyter.sh diff --git a/Utils/AutoLogon(ProtectedPassword).zip b/Tools/AutoLogon(ProtectedPassword).zip similarity index 100% rename from Utils/AutoLogon(ProtectedPassword).zip rename to Tools/AutoLogon(ProtectedPassword).zip diff --git a/Utils/Configure/ubuntu-kde/add_robot.sh b/Tools/Configure/ubuntu-kde/add_robot.sh similarity index 100% rename from Utils/Configure/ubuntu-kde/add_robot.sh rename to Tools/Configure/ubuntu-kde/add_robot.sh diff --git a/Utils/Configure/ubuntu-kde/configure.sh b/Tools/Configure/ubuntu-kde/configure.sh similarity index 100% rename from Utils/Configure/ubuntu-kde/configure.sh rename to Tools/Configure/ubuntu-kde/configure.sh diff --git a/Utils/Configure/ubuntu-kde/sshd_config b/Tools/Configure/ubuntu-kde/sshd_config similarity index 100% rename from Utils/Configure/ubuntu-kde/sshd_config rename to Tools/Configure/ubuntu-kde/sshd_config diff --git a/Utils/Jupyter-notebooks/Clipboard.ipynb b/Tools/Jupyter-notebooks/Clipboard.ipynb similarity index 100% rename from Utils/Jupyter-notebooks/Clipboard.ipynb rename to Tools/Jupyter-notebooks/Clipboard.ipynb diff --git a/Tools/Jupyter-notebooks/Keyboard.ipynb b/Tools/Jupyter-notebooks/Keyboard.ipynb new file mode 100755 index 00000000..a34f75bd --- /dev/null +++ b/Tools/Jupyter-notebooks/Keyboard.ipynb @@ -0,0 +1,470 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Тест функций pyOpenRPA.Robot.Keyboard" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "import os\n", + "#sys.path.insert(0, os.path.abspath(\"..\\\\..\\\\Sources\")) # FOR WINDOWS\n", + "sys.path.insert(0, os.path.abspath(\"../../Sources\")) # FOR LINUX\n", + "import time\n", + "from pyOpenRPA.Robot import Keyboard" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "done\n" + ] + } + ], + "source": [ + "\n", + "time.sleep(3)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT,Keyboard.KEY_ENG_A)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT,Keyboard.KEY_ENG_C)\n", + "print(\"done\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'ei' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [5]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m Keyboard\u001b[38;5;241m.\u001b[39mSend(Keyboard\u001b[38;5;241m.\u001b[39mKEY_ENG_E)\n\u001b[1;32m 6\u001b[0m Keyboard\u001b[38;5;241m.\u001b[39mSend(Keyboard\u001b[38;5;241m.\u001b[39mKEY_RUS_Ш)\n\u001b[0;32m----> 7\u001b[0m \u001b[43mei\u001b[49m\n", + "\u001b[0;31mNameError\u001b[0m: name 'ei' is not defined" + ] + } + ], + "source": [ + "# Keyboard: Взаимодействие с клавиатурой\n", + "from pyOpenRPA.Robot import Keyboard\n", + "import time\n", + "time.sleep(2)\n", + "Keyboard.Send(Keyboard.KEY_ENG_E)\n", + "Keyboard.Send(Keyboard.KEY_RUS_Ш)\n", + "ei" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "time.sleep(2)\n", + "Keyboard.press(Keyboard.KEY_HOT_SHIFT_LEFT)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "time.sleep(2)\n", + "Keyboard.HotkeyCtrlA_CtrlC()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "time.sleep(2)\n", + "Keyboard.send(Keyboard.KEY_HOT_CONTEXT_MENU)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "Keyboard.wait(Keyboard.KEY_ENG_B)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "done\n" + ] + } + ], + "source": [ + "\n", + "time.sleep(1)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT,Keyboard.KEY_ENG_A)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT,Keyboard.KEY_ENG_C)\n", + "print(\"done\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "time.sleep(3)\n", + "\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)\n", + "Keyboard.Write(\"cmd\")\n", + "Keyboard.Send(Keyboard.KEY_HOT_ENTER, inWaitAfterSecFloat=0.6)\n", + "Keyboard.Write(\"echo %time%\")\n", + "Keyboard.Send(Keyboard.KEY_HOT_ENTER)\n", + "Keyboard.Write(\"Привет мир!\")\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT, Keyboard.KEY_ENG_A, inWaitAfterSecFloat=0.6)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT, Keyboard.KEY_ENG_C, inWaitAfterSecFloat=0.6)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "57435" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Keyboard.KEY_HOT_WIN_LEFT" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "29" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Keyboard.KEY_HOT_CTRL_LEFT" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(19,)" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Keyboard.key_to_scan_codes(\"win\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "Keyboard.HotkeyCombination(57435,19)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)\n", + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "Keyboard.HotkeyCombination(Keyboard.KEY_HOT_WIN_LEFT,Keyboard.KEY_ENG_R)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "time.sleep(3)\n", + "Keyboard.is_pressed(Keyboard.KEY_HOT_CTRL_LEFT)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "TT=9\n", + "def k(hh=TT):\n", + " print(hh)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "9\n" + ] + } + ], + "source": [ + "k()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"KEY_RUS_А\" in dir(Keyboard)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "module 'pyOpenRPA.Robot.Keyboard' has no attribute 'KEY_RUS_'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [6]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mKeyboard\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mKEY_RUS_\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n", + "\u001b[0;31mAttributeError\u001b[0m: module 'pyOpenRPA.Robot.Keyboard' has no attribute 'KEY_RUS_'" + ] + } + ], + "source": [ + "getattr(Keyboard, \"KEY_RUS_\")" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "time.sleep(3)\n", + "Keyboard.Write(Keyboard.KEY_ENG_B, inDelayFloat=0.001)b" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "HelloПривет!йцукенгшщзхъфывапролджэячсмитьбю.ёЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Hi anybody" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "HelloПривет!йцукенгшщзхъфывапролджэячсмитьбю.ёЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Hi anybody" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.5" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Utils/Jupyter-notebooks/Mouse.ipynb b/Tools/Jupyter-notebooks/Mouse.ipynb similarity index 100% rename from Utils/Jupyter-notebooks/Mouse.ipynb rename to Tools/Jupyter-notebooks/Mouse.ipynb diff --git a/Utils/Jupyter-notebooks/Sandbox.ipynb b/Tools/Jupyter-notebooks/Sandbox.ipynb similarity index 100% rename from Utils/Jupyter-notebooks/Sandbox.ipynb rename to Tools/Jupyter-notebooks/Sandbox.ipynb diff --git a/Utils/Jupyter-notebooks/Screen.ipynb b/Tools/Jupyter-notebooks/Screen.ipynb similarity index 100% rename from Utils/Jupyter-notebooks/Screen.ipynb rename to Tools/Jupyter-notebooks/Screen.ipynb diff --git a/Utils/Jupyter-notebooks/Untitled.ipynb b/Tools/Jupyter-notebooks/Untitled.ipynb similarity index 100% rename from Utils/Jupyter-notebooks/Untitled.ipynb rename to Tools/Jupyter-notebooks/Untitled.ipynb diff --git a/Utils/Jupyter-notebooks/Web.ipynb b/Tools/Jupyter-notebooks/Web.ipynb similarity index 100% rename from Utils/Jupyter-notebooks/Web.ipynb rename to Tools/Jupyter-notebooks/Web.ipynb diff --git a/Tools/Jupyter-notebooks/init-nbextension.cmd b/Tools/Jupyter-notebooks/init-nbextension.cmd new file mode 100644 index 00000000..9c77902c --- /dev/null +++ b/Tools/Jupyter-notebooks/init-nbextension.cmd @@ -0,0 +1,8 @@ +init-python-env.cmd +pip uninstall jupyter-core +pip uninstall jupyter-contrib-core +pip install "..\..\Resources\PyPackages\jupyter_core-4.6.3-py2.py3-none-any.whl" +pip install "..\..\Resources\PyPackages\jupyter_contrib_core-0.3.3-py2.py3-none-any.whl" +jupyter contrib nbextension install --user +jupyter nbextension enable Hinterland +jupyter nbextension enable highlighter \ No newline at end of file diff --git a/Tools/Jupyter-notebooks/init-python-env.cmd b/Tools/Jupyter-notebooks/init-python-env.cmd new file mode 100644 index 00000000..210b5da7 --- /dev/null +++ b/Tools/Jupyter-notebooks/init-python-env.cmd @@ -0,0 +1,6 @@ +chcp 65001 +CD_PREV = %cd% +cd /d "%~dp0..\..\Resources\WPy64-3720\python-3.7.2.amd64" +set PATH=%cd%;%cd%\Scripts;%PATH% +cd %CD_PREV% +cmd \ No newline at end of file diff --git a/Tools/Jupyter-notebooks/start.cmd b/Tools/Jupyter-notebooks/start.cmd new file mode 100755 index 00000000..28273b84 --- /dev/null +++ b/Tools/Jupyter-notebooks/start.cmd @@ -0,0 +1,4 @@ +chcp 65001 +cd /d "%~dp0..\..\Resources\WPy64-3720\python-3.7.2.amd64" +copy /Y python.exe jupyter-notebook.exe +jupyter-notebook.exe -m notebook --notebook-dir=%~dp0 \ No newline at end of file diff --git a/Tools/Jupyter-notebooks/start.sh b/Tools/Jupyter-notebooks/start.sh new file mode 100755 index 00000000..8765ab70 --- /dev/null +++ b/Tools/Jupyter-notebooks/start.sh @@ -0,0 +1,2 @@ +#!/bin/bash +./../../Resources/LPy64-3105/bin/python3.10 -m notebook --notebook-dir=$PWD diff --git a/Utils/Logout.txt b/Tools/Logout.txt similarity index 100% rename from Utils/Logout.txt rename to Tools/Logout.txt diff --git a/Utils/PythonDebug_64.cmd b/Tools/PythonDebug_64.cmd similarity index 100% rename from Utils/PythonDebug_64.cmd rename to Tools/PythonDebug_64.cmd diff --git a/Utils/RobotDB/AccessUser_ND.py b/Tools/RobotDB/AccessUser_ND.py similarity index 100% rename from Utils/RobotDB/AccessUser_ND.py rename to Tools/RobotDB/AccessUser_ND.py diff --git a/Utils/RobotDB/AccessUser_SuperToken.py b/Tools/RobotDB/AccessUser_SuperToken.py similarity index 100% rename from Utils/RobotDB/AccessUser_SuperToken.py rename to Tools/RobotDB/AccessUser_SuperToken.py diff --git a/Utils/RobotDB/DB.db b/Tools/RobotDB/DB.db similarity index 100% rename from Utils/RobotDB/DB.db rename to Tools/RobotDB/DB.db diff --git a/Utils/RobotDB/DBBlank.db b/Tools/RobotDB/DBBlank.db similarity index 100% rename from Utils/RobotDB/DBBlank.db rename to Tools/RobotDB/DBBlank.db diff --git a/Utils/RobotDB/SettingsExample.py b/Tools/RobotDB/SettingsExample.py similarity index 100% rename from Utils/RobotDB/SettingsExample.py rename to Tools/RobotDB/SettingsExample.py diff --git a/Utils/RobotDB/Test.xlsx b/Tools/RobotDB/Test.xlsx similarity index 100% rename from Utils/RobotDB/Test.xlsx rename to Tools/RobotDB/Test.xlsx diff --git a/Utils/RobotDB/pyOpenRPA.Tools.RobotDB_x64.cmd b/Tools/RobotDB/pyOpenRPA.Tools.RobotDB_x64.cmd similarity index 100% rename from Utils/RobotDB/pyOpenRPA.Tools.RobotDB_x64.cmd rename to Tools/RobotDB/pyOpenRPA.Tools.RobotDB_x64.cmd diff --git a/Utils/RobotLogout.bat b/Tools/RobotLogout.bat similarity index 100% rename from Utils/RobotLogout.bat rename to Tools/RobotLogout.bat diff --git a/Utils/RobotRDPActive/CheckAutoLogon.txt b/Tools/RobotRDPActive/CheckAutoLogon.txt similarity index 100% rename from Utils/RobotRDPActive/CheckAutoLogon.txt rename to Tools/RobotRDPActive/CheckAutoLogon.txt diff --git a/Utils/RobotRDPActive/SettingsRobotRDPActiveExample.py b/Tools/RobotRDPActive/SettingsRobotRDPActiveExample.py similarity index 100% rename from Utils/RobotRDPActive/SettingsRobotRDPActiveExample.py rename to Tools/RobotRDPActive/SettingsRobotRDPActiveExample.py diff --git a/Utils/RobotRDPActive/pyOpenRPA.Tools.RobotRDPActive_x64.cmd b/Tools/RobotRDPActive/pyOpenRPA.Tools.RobotRDPActive_x64.cmd similarity index 100% rename from Utils/RobotRDPActive/pyOpenRPA.Tools.RobotRDPActive_x64.cmd rename to Tools/RobotRDPActive/pyOpenRPA.Tools.RobotRDPActive_x64.cmd diff --git a/Utils/RobotScreenActive/pyOpenRPA.Tools.RobotScreenActive_x64.cmd b/Tools/RobotScreenActive/pyOpenRPA.Tools.RobotScreenActive_x64.cmd similarity index 100% rename from Utils/RobotScreenActive/pyOpenRPA.Tools.RobotScreenActive_x64.cmd rename to Tools/RobotScreenActive/pyOpenRPA.Tools.RobotScreenActive_x64.cmd diff --git a/Utils/RobotScreenSpy/TechScreenSpy.py b/Tools/RobotScreenSpy/TechScreenSpy.py similarity index 100% rename from Utils/RobotScreenSpy/TechScreenSpy.py rename to Tools/RobotScreenSpy/TechScreenSpy.py diff --git a/Utils/RobotScreenSpy/TechScreenSpyPython.cmd b/Tools/RobotScreenSpy/TechScreenSpyPython.cmd similarity index 100% rename from Utils/RobotScreenSpy/TechScreenSpyPython.cmd rename to Tools/RobotScreenSpy/TechScreenSpyPython.cmd diff --git a/Utils/RobotScreenSpy/TechScreenSpyPythonw.cmd b/Tools/RobotScreenSpy/TechScreenSpyPythonw.cmd similarity index 100% rename from Utils/RobotScreenSpy/TechScreenSpyPythonw.cmd rename to Tools/RobotScreenSpy/TechScreenSpyPythonw.cmd diff --git a/Utils/SafeSource/DistrCreate_x64.cmd b/Tools/SafeSource/DistrCreate_x64.cmd similarity index 100% rename from Utils/SafeSource/DistrCreate_x64.cmd rename to Tools/SafeSource/DistrCreate_x64.cmd diff --git a/Utils/SafeSource/pyRobotName_Safe.py b/Tools/SafeSource/pyRobotName_Safe.py similarity index 100% rename from Utils/SafeSource/pyRobotName_Safe.py rename to Tools/SafeSource/pyRobotName_Safe.py diff --git a/Utils/SafeSource/pyRobotName_Safe_x64_Run.cmd b/Tools/SafeSource/pyRobotName_Safe_x64_Run.cmd similarity index 100% rename from Utils/SafeSource/pyRobotName_Safe_x64_Run.cmd rename to Tools/SafeSource/pyRobotName_Safe_x64_Run.cmd diff --git a/Utils/TestSendRequest/Main.py b/Tools/TestSendRequest/Main.py similarity index 100% rename from Utils/TestSendRequest/Main.py rename to Tools/TestSendRequest/Main.py diff --git a/Utils/TestSendRequest/SendRequest.cmd b/Tools/TestSendRequest/SendRequest.cmd similarity index 100% rename from Utils/TestSendRequest/SendRequest.cmd rename to Tools/TestSendRequest/SendRequest.cmd diff --git a/Utils/TestSendRequest/Settings.py b/Tools/TestSendRequest/Settings.py similarity index 100% rename from Utils/TestSendRequest/Settings.py rename to Tools/TestSendRequest/Settings.py diff --git a/Utils/ToolScreenScrapRecognize/Main.py b/Tools/ToolScreenScrapRecognize/Main.py similarity index 100% rename from Utils/ToolScreenScrapRecognize/Main.py rename to Tools/ToolScreenScrapRecognize/Main.py diff --git a/Utils/ToolScreenScrapRecognize/ToolScreenScrapRecognize_x64.cmd b/Tools/ToolScreenScrapRecognize/ToolScreenScrapRecognize_x64.cmd similarity index 100% rename from Utils/ToolScreenScrapRecognize/ToolScreenScrapRecognize_x64.cmd rename to Tools/ToolScreenScrapRecognize/ToolScreenScrapRecognize_x64.cmd diff --git a/Utils/Usage.py b/Tools/Usage.py similarity index 100% rename from Utils/Usage.py rename to Tools/Usage.py diff --git a/Utils/WebTest.py b/Tools/WebTest.py similarity index 100% rename from Utils/WebTest.py rename to Tools/WebTest.py diff --git a/Utils/Jupyter-notebooks/test.txt b/Utils/Jupyter-notebooks/test.txt deleted file mode 100755 index ee123887..00000000 --- a/Utils/Jupyter-notebooks/test.txt +++ /dev/null @@ -1,8 +0,0 @@ - Hello my control panel! - You can use any def from Orchestrator module here in Jinja2 HTML template: - Example: OrchestratorModule.OSCMD(inCMDStr="notepad") - {{Const}} - {% if Const=="ND" %} - YES - IT IS ND - {% endif %} -{% include 'test2.txt' %} \ No newline at end of file diff --git a/Utils/PythonDebug_32.cmd b/Utils/PythonDebug_32.cmd deleted file mode 100755 index 1b4786ad..00000000 --- a/Utils/PythonDebug_32.cmd +++ /dev/null @@ -1,3 +0,0 @@ -cd %~dp0..\Sources -.\..\Resources\WPy32-3720\python-3.7.2\python.exe -pause >nul \ No newline at end of file diff --git a/Utils/pyOpenRPA.Robot_x32.cmd b/Utils/pyOpenRPA.Robot_x32.cmd deleted file mode 100755 index 75f72e99..00000000 --- a/Utils/pyOpenRPA.Robot_x32.cmd +++ /dev/null @@ -1,3 +0,0 @@ -cd %~dp0\..\Sources -.\..\Resources\WPy32-3720\python-3.7.2\python.exe -m pyOpenRPA.Robot -pause >nul \ No newline at end of file