parent
2899e4622e
commit
83e5fa8b12
@ -1 +0,0 @@
|
||||
pip
|
@ -1,319 +0,0 @@
|
||||
pyOpenRPA-1.1.20.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
pyOpenRPA-1.1.20.dist-info/METADATA,sha256=B3Ph33GyqyoXYSX_0wGNMu6KLwFG_lj6NIXaCKJP-TA,3352
|
||||
pyOpenRPA-1.1.20.dist-info/RECORD,,
|
||||
pyOpenRPA-1.1.20.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA-1.1.20.dist-info/WHEEL,sha256=qB97nP5e4MrOsXW5bIU5cUn_KSVr10EV0l-GCHG9qNs,97
|
||||
pyOpenRPA-1.1.20.dist-info/top_level.txt,sha256=RPzwQXgYBRo_m5L3ZLs6Voh8aEkMeT29Xsul1w1qE0g,10
|
||||
pyOpenRPA/.idea/inspectionProfiles/profiles_settings.xml,sha256=YXLFmX7rPNGcnKK1uX1uKYPN0fpgskYNe7t0BV7cqkY,174
|
||||
pyOpenRPA/.idea/misc.xml,sha256=ySjeaQ1DfqxaRTlFGT_3zW5r9mWuwxoAK_AX4QiuAZM,203
|
||||
pyOpenRPA/.idea/modules.xml,sha256=Q__U1JIA2cjxbLRXAv-SfYY00fZA0TNlpkkbY4s3ncg,277
|
||||
pyOpenRPA/.idea/pyOpenRPA.iml,sha256=EXh41F8lqRiSBMVg-n2tKaEaHC6_3gGSuKkPJA12Na0,408
|
||||
pyOpenRPA/.idea/vcs.xml,sha256=2HygA1oRAwc3VBf-irxHrX5JJG9DXuQwrN0BlubhoKY,191
|
||||
pyOpenRPA/.idea/workspace.xml,sha256=kcCP7x0iSOAWJdy7YtntGrgsQ04QIq0b6_9w04DKxfg,2555
|
||||
pyOpenRPA/Info.md,sha256=u4Nv-PjniSF0Zlbtr6jEJX2vblK3_1zhSLNUgOdtDaA,85
|
||||
pyOpenRPA/Orchestrator/BackwardCompatibility.py,sha256=y1Dyb8wmRcJmk1SxTVmgpR8r64Aa-Io9MG_5khvYgH0,3672
|
||||
pyOpenRPA/Orchestrator/Orchestrator.py,sha256=32AVVDVpMgam9Zg5n79WJDiuhGQTehtBWTFQrm6Mzhg,12387
|
||||
pyOpenRPA/Orchestrator/Processor.py,sha256=JI7nnkwXXnpkSJx6GlxoPjjiFOv3q3e-xZDLxKVYKrg,12634
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/CMDStr.py,sha256=6otw1WnR2_evvQ5LGyOVh0BLk_nTdilViGub7p56fXQ,1531
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/Clipboard.py,sha256=YB5HJL-Qf4IlVrFHyRv_ZMJ0Vo4vjyYqWKjvrTnf1k4,1564
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/Connector.py,sha256=fEwwCaYggb_KB72_9Bi-bn1zvglssNWNaWz9GTaiVk4,26543
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/ConnectorExceptions.py,sha256=wwH9JOoMFFxDKQ7IyNyh1OkFkZ23o1cD8Jm3n31ycII,657
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/Processor.py,sha256=AQ_u9QVSLpce9hhSacm3UT98bErc636MXza4Q6mHsSc,12264
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/RobotRDPActive.py,sha256=jCtHXExgRW0licn8K-xSO3tFd6P-4IFzp46TdS57vQ4,10726
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/Scheduler.py,sha256=21N0ilFzWI1mj3X5S9tPMgwvG7BviuBxfTuqBY85Hy4,9144
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/Template.rdp,sha256=JEMVYkEmNcfg_p8isdIyvj9E-2ZB5mj-R3MkcNMKxkA,2426
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/Timer.py,sha256=y8--fUvg10qEFomecl_cmdWpdGjarZBlFpMbs_GvzoQ,1077
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__main__.py,sha256=z9PaUK4_nBiGd0YJdYVHV_rFx6VjZaxrrmKxSyoTFwY,2508
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/CMDStr.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/Clipboard.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/Connector.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/ConnectorExceptions.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/Processor.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/RobotRDPActive.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/Scheduler.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/Timer.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/ConsoleStart.bat,sha256=_HNadUKHOYI5y6foG3srh8wjSzhX33xaKNylFtDjOJk,114
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/Monitor.py,sha256=TV-YisVqa_uGiyJLG9oK4u-5aDjGiFYZFh1dPjOgYc8,492
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/Screen.py,sha256=VnYcvCVymrD35l2J4ln_tlVn7CilZhxE4Ggw9P-OhIw,606
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/__main__.py,sha256=JASxDDVKWUU7DAbDkRrGTrPk-P7LZchTZFh8usp6b4U,593
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/__pycache__/Monitor.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/__pycache__/Screen.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/Server.py,sha256=dO82x5_tmPSn0oKgdYs7BzM3kZZkh5MWNegxUEwE01I,25694
|
||||
pyOpenRPA/Orchestrator/ServerSettings.py,sha256=dK8pQzg2mcLPjbizOPCP7yHMMVLiTh8RbYVnJXn-Mvg,15640
|
||||
pyOpenRPA/Orchestrator/Timer.py,sha256=HvYtEeH2Q5WVVjgds9XaBpWRmvZgwgBXurJDdVVq_T0,2097
|
||||
pyOpenRPA/Orchestrator/Web/Index.js,sha256=zdbj1ioNgxhprLpGIQ2YYraKUMUpkBiVoR-3GXGR5X0,28258
|
||||
pyOpenRPA/Orchestrator/Web/Index.xhtml,sha256=uRjdlkK8-yyrh4y3BkBYlFkRHzzPlHWz5dRh1FmG5QE,14260
|
||||
pyOpenRPA/Orchestrator/Web/favicon.ico,sha256=6S8XwSQ_3FXPpaX6zYkf8uUewVXO9bHnrrDHEoWrEgw,112922
|
||||
pyOpenRPA/Orchestrator/__init__.py,sha256=qVH8fEPgXk54rmy-ol0PnT8GF5OlGE0a8mExwJ4tFqY,124
|
||||
pyOpenRPA/Orchestrator/__main__.py,sha256=cOd8WU77VGgzTZUB0WmWpPmdYyMZY1zVyuU9yx26MKs,144
|
||||
pyOpenRPA/Orchestrator/__pycache__/BackwardCompatibility.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/Orchestrator.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/Processor.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/Server.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/ServerSettings.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/Timer.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/README.md,sha256=e2hKh7Tx6DAsX6jY_hBDhguL1L2Wiv6iugDB5otMzIA,2293
|
||||
pyOpenRPA/Resources/Web/Google/LatoItalic.css,sha256=pB6OZ6F2VsaqkL-g5hW-wE_T0m9H_NltzmzjX-XAKDk,3112
|
||||
pyOpenRPA/Resources/Web/Handlebars/handlebars-v4.1.2.js,sha256=h6O4BrhyPtJspLDEQwogC53uHFRozuBpxvN2S4tJHE8,171994
|
||||
pyOpenRPA/Resources/Web/JsRender/jsrender.min.js,sha256=00hs6PwCiAfN_gatFdLofj3yBf8ue5Z7jCXX_th2FFg,25927
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/.versions,sha256=gGkuqPk07gAhjnNJVjVR_BA4SSBzqazbY8eEpddH01U,72
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/LICENSE,sha256=ifWbZZ0piwisfkIil1gacnBMxNnAHa7yCn1etItX1Y4,1102
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/README.md,sha256=oITQ5k-7jxoYAAQpzAXFROqgcnGzPrTd7GqkZSGqKW8,448
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/accordion.css,sha256=UC6U37i_pXBVMlUmFMLi1S8FIhFycJjAePP-hRGKzQM,8971
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/accordion.js,sha256=6cCQ6FlT1bM_QA4OpA_vfMljasKU1foGszlAIyhWi3A,20790
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/accordion.min.css,sha256=u9_5Zru9uMTtrXZpdfLawT_kJ5LFcmrMFr1QWXfDqwA,6955
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/accordion.min.js,sha256=kt0Dfi-mrxAU-iYsfDrkROHrb55Hi0lVWC7MT46_xnU,7100
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/ad.css,sha256=CiW55EUiruW1Tp0jrz2yDvQ8jYxDVMDmVcROV5_eBzo,4176
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/ad.min.css,sha256=7D7QYK0TBRyE4dN3SYXD_owb0j8UXywfPKzab2e743I,2066
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/api.js,sha256=Vjx6JZpe0iVJ6t8gp3TO3UjIyZkNBPN-taCS8MWwvJI,40952
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/api.min.js,sha256=und4HgOg2CxzBcqdJOvcT9LfJx0Hf9xQmEO_u7r1Ync,14594
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/breadcrumb.css,sha256=SJD_Mmi9BUmGXVhCXlIM1ei93yJVreQx0FAT68_t01w,2166
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/breadcrumb.min.css,sha256=-40OBPSbvydFFq9P3XPydeyWOrsh8g600mK9HXNoLnI,1192
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/button.css,sha256=wdCjDbx3M-jkpA7whQetZvX3ZE7wyBwRlCbcTVXKobc,116361
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/button.min.css,sha256=37bmMDGVPsjpcyAe7GqWsqv3UpsPTvlE5AiCVtT5NxY,90207
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/card.css,sha256=0oHZ2Qh74uybsgxLhP2ag_kQGTyOx3Kbzsjs6LvARzI,25330
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/card.min.css,sha256=anR2MHuWyx-iEc6wsI5nBMWnboFRqvOT7r-KOrKK-BQ,17410
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/checkbox.css,sha256=5u4dyQfH-wpdFbakv5CV4uIhWbBb2Tge0ZC5-tA2dX8,17473
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/checkbox.js,sha256=s-cRpbhGBxHgpnZdU3yFZciSW4n1QuruHjkX6gCyqT0,26912
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/checkbox.min.css,sha256=cy6WFzeIQ_5hHE7LEFxAK8yfR_zdfjoEubGRy1wCLv4,12727
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/checkbox.min.js,sha256=mlvPY4Gm-w6mgnAZ2GVMiBo5UDU7x_vaxKA5VRxdjR4,11369
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/colorize.js,sha256=imQdcIH6qpozSWEYeIpilPOfKHOJbD6V9RuKOC7yyEE,8710
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/colorize.min.js,sha256=oUDFJRLSaINMaJIZmuzYttfcMgkb7I6CpuEJ6bMfAVI,3270
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/comment.css,sha256=WAotERTFZQyxKNDJiSLlreq5KVja4xNM_bXUeG7NyVQ,5120
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/comment.min.css,sha256=JYlEkH8IupEqfItr2N9WZaNYkyF6rX2bnP6Y8ktXdCU,2945
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/container.css,sha256=bzDnWjcw404DoiHuz6-3iMRmbzJePDPgUGHcx3nFAuU,3099
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/container.min.css,sha256=VizQkNfO7_OANkM37_7xKxHQPEcUTBRuj3R_xkaULO8,1925
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dimmer.css,sha256=xKjQ9JWKG6zlrjyB5zECQc5vLZ7uCg7S5X-aUNKh6b8,5559
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dimmer.js,sha256=TuB9IPn4wx2n47nRVYf9CKvLotDL9d7gQcNArXupiRU,22303
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dimmer.min.css,sha256=-MBET9URQztSrMHpKaB8oyTckkm-lXisQbuxqd2UyOk,3517
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dimmer.min.js,sha256=4jCyaIQIKQX4zzzvspDqEvUmsPnpkr5lFuDOvKR_Wbo,8071
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/divider.css,sha256=a_0UrPhzoGJZZd8PBDgc5C0utGbzM6hjZbkDyy4pzfw,8034
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/divider.min.css,sha256=2XcokR56EPJZJh0ofnGgp-QPx2VpHYzDcdZdtR08uBs,6097
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dropdown.css,sha256=rJfAK26TU_FrVEYQxX1iWS4Z91SORlfnM128BfpI1II,37420
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dropdown.js,sha256=KnpOJhLPr4nCvh6M4qxqs8Y8lPGNZgLK6jZcGWrYzHo,145962
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dropdown.min.css,sha256=7Lwg8bz5Df_7YZ6D-ywoa01hT3IkqC09ZKBKtGe6gow,25679
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dropdown.min.js,sha256=uEocYy6a0MpPLLHtYV7QAGdOeMRwE0Am2WtnOg_hBfM,50895
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/embed.css,sha256=19QhoCUbplkH_W5a7ejlpO6PoqSEFVA1xdHvaZp98yw,3169
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/embed.js,sha256=O3znHvAxO5xYlwzn4y3lQDde_iTdy29iUAmPqNfg4-0,20926
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/embed.min.css,sha256=SHH3TOGQhg1d5mrYCZeko1qvN3_NoETWQzBmfGUOpjc,1836
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/embed.min.js,sha256=QN4vIzPRpT4BFVPyA702nPG8nZKWfM-HygoF9jPBDJA,7728
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/feed.css,sha256=aFj6fLvIPQfeRxyKu_TlLKeUcwmI5GwOR7pY1Lb0JKM,5845
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/feed.min.css,sha256=-l8OBrtbhQi-fhQLHwA0cut_JWOuRWc44I0KpPxUx_M,3590
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/flag.css,sha256=rvyaZDdUGBPNuvOE8lzpW-Z4q3LYkJi8T99JlN1aF3E,22423
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/flag.min.css,sha256=WX74cISnDHD9kiyzCAiXiUWfnmv6cwdmBXgXtA5TUuw,18577
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/form.css,sha256=oNyqIev2BGrxigiMt72unbkne8-OWJ6UtaUGM4XZ9Y4,29092
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/form.js,sha256=FCxhpdJMgA6H88ka82b0jcqg-a8S53T0sVVbS_chLPA,57618
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/form.min.css,sha256=BmOkPn-zjy4WbHvcIvm18Vq0nhJjwADEBxvsLqX0sXg,21568
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/form.min.js,sha256=fK_KHBgbjblWL2-hRtohUzj6b12XWi6pVujkG1Ru9-w,20458
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/grid.css,sha256=I35Jh57rWCJoLMuJYXksccmBzc6V1XC1Mi_na_oAp84,73036
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/grid.min.css,sha256=5iW6X6_QT_7PgFBce4OTfLOOaSoovOoOb2U8w1yZDtc,57335
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/header.css,sha256=32EgHb7XmTT_AWH7Nr08PjXP2op-xhwlSqSIThcZKmY,13499
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/header.min.css,sha256=hHgAxfAsLFDPcyU6T6cRE_M6R-4rKEfPX5kOHVyJNes,8872
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/icon.css,sha256=CHLhcJDvnks69dz2lyZC0idfGnPFx4qdKA82Hm_bEDo,86945
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/icon.min.css,sha256=4opKQbtTAtsuIkfkEMuIA3eD3T4m1X3mfiCVTS6x2_A,67019
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/image.css,sha256=eZLe0mOsWAJETFvjXHlZXAnSY87SGQlRDJna2_EZ67U,5676
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/image.min.css,sha256=eXzqGHi6p4yiYGCiYPOcGXYbKeQtA0Df_w0gN88KCD0,3727
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/input.css,sha256=lYFTBK5TuWVaB2LSwjdl83iM9l4rn7jPwoFcEfvHQR8,12699
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/input.min.css,sha256=4ouF0Y10UKjiT6iJlHxD5aOe8WljYoAxPqpiy7iEdSw,8692
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/item.css,sha256=O1HR21E9wHtGxCmsqxcEc_65R6Ln3mOvImRwYMQso1g,9753
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/item.min.css,sha256=JRycvfshgviiiwTeAKUj0iPOov4-Uwaue3fTqaY_e5s,5985
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/label.css,sha256=9tLlAtf1Y3NSngCdO1DZ5YcRW_bu2dUKYUAXHPXm2hQ,28382
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/label.min.css,sha256=lzompqItwR2t_PJowmd07tg8QUPAb6yj58N9TwuNS6I,20005
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/list.css,sha256=CI9lvTBhVzN64aRNjJIwhG6bhKydfIbk_RdYQiaAYwE,22486
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/list.min.css,sha256=uXVJMLBcGUe7MZETm-CQO5LMhIbTFxajYZRBFTCTftY,16094
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/loader.css,sha256=Yz3gBB1JS-86XzSzztcNLE24ViO7UnP15A4M4hrFZUY,7128
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/loader.min.css,sha256=XtALKS7EZswkHXCCOthbxsuu36_tpZbqh-LMT1gaRAg,4702
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/menu.css,sha256=aOYMc10qx8D7fVQ7R83XXUkbrrFExpWkWc6ZnECfOJ4,45279
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/menu.min.css,sha256=cRSLOaiPiyfTQ4B4HT1OCF_2CWNzGcPO9Nns6Jrf4hg,31506
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/message.css,sha256=baLR2EbwIWTGTSvNc9qb2FmcWBeZHM3W0kBNvEdxZZU,12466
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/message.min.css,sha256=_plszMa027XkVjjehCTWxgIAftsTT1alP5I6EYfoVMI,8354
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/modal.css,sha256=86mR_k66q9mOP7jwLV6J4iRW1a06eSyQ6tcoZpUlHf8,12800
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/modal.js,sha256=ACX5Za25KIugyXD7eFndkqa18n7LHjZrBkWSpLs8uqQ,33442
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/modal.min.css,sha256=2GGe09HtCS6k__kprnoTwPMNu2CFCjEpaLQ2NBMLua8,8012
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/modal.min.js,sha256=8POmd6680Gev-MdgKbVOHP-9lm-9WB1AVyuLf2WRcxc,12701
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/nag.css,sha256=3Pz6rq1vWHNvB7UHhGFMPYvrP7VZP_pTM4PlwthnviI,2727
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/nag.js,sha256=KuXGvpOopM0i7syRO2cLSXrJ5I7AjwW3m7JMJLfGuN4,15553
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/nag.min.css,sha256=ohX1Du58QE8pgiBVEzmlhuT2rERTdxY4sasod_53NV4,1483
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/nag.min.js,sha256=UN_1Vcu3C_zxEatS7UZKw1x2blSyihZT2F1cmq7UZOk,5696
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/placeholder.css,sha256=ihZF0mK6texbUk_qWnqHqoZ0scXyDhHy-tr77Wougwg,5938
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/placeholder.min.css,sha256=UIFHVCJ1agMPhpUv-aqm6GeN3EmqUv5vClMm_5LEpuM,4452
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/popup.css,sha256=EitCUPKebavrCN6zwsWGZKfKCNjRJhaEGf6dJlCim7g,17407
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/popup.js,sha256=kzErFmfWsOMKZH-mbyLXQpJo_ajderu7pnq_faA7teM,52273
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/popup.min.css,sha256=YlUBHRAaq5FwMcI2g3DQtgcmxmRNG1rEZaGK2LCgVZ0,12032
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/popup.min.js,sha256=VvJYDjsOSD6VaYYZhuQYiPOpBbpRnmaddxVd6shZ9mU,18630
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/progress.css,sha256=p2R5CYj1cVgj0mT7XTBcKKky02140m4A-PumSFirAqc,10669
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/progress.js,sha256=uAQsAqW_DWnH0hK5dC0MVBBwuDyyu8UNolLxO0OSCfs,31204
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/progress.min.css,sha256=JtEqDPto1ZJiE-6k_WoZnzlhFUgwLJqH6VowDWGRez4,7422
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/progress.min.js,sha256=B676J_Jywi6IJ9e_E62nmk7Gn9KDkRQc7RfcIBKPQcI,12331
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/rail.css,sha256=XUZeNKRfoqs2bRnKz49lJU8ufQ625eFrtL7IxXLzBD0,2646
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/rail.min.css,sha256=4rrNcI5NVX845Bc9aBTWjwjg7tnakWuMHl8zWK-ucmE,1453
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/rating.css,sha256=E_jbykfZK88UZ6kKhL0T8mqn29mzefpwNzCDZEkIyKE,20696
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/rating.js,sha256=rxHeOv-TB5-ViM9hOfODUZMGqWUMNyPvIVIov306LuQ,14869
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/rating.min.css,sha256=4coaKkBwUtNfJL53qHC_TzTE7BmLMuVxDu_Z3gGOs7Q,18393
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/rating.min.js,sha256=jprk9qns6QqU1UWGtHMwug9A_ls7tVMV8p2mueJlj74,5354
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/reset.css,sha256=ygW8luaW-MLjYb6fFQYl0HBo4w-P9zwYkVZLpFOMFh0,9123
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/reset.min.css,sha256=Cm0OrnD_mnGgt3DPmGhhNLeNUAfYfQlCX2uCK7TG_o8,2822
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/reveal.css,sha256=33mQj7j0sprB4_0PrBqMJXxyXXFs4eP2rKoraaht8e8,8177
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/reveal.min.css,sha256=cHuyo1zDTWJH9C1f1GPtKHwuTzA_IUSFAfTH3q5yoME,5784
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/search.css,sha256=XN5UApUr9lkI_R-ThVSHhNM3UEMEvl8Z6LAYhFABPKw,10377
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/search.js,sha256=bm3TK1__R62sMnnTL_haoNAZiWbua0IGEgwfdQRpuRo,51211
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/search.min.css,sha256=HONcBrv7-3sDkmJ9Zwh8KYXWyy_fUw_MjDjhNMtU7hU,6891
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/search.min.js,sha256=gkqnhj5TvM_vwvHKAb4zBC7uL6mndcAlK6CEv5iEUwg,17622
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/segment.css,sha256=FERuSI78q9zgv_iWxHnXIbSnJDsgNKaLh8IgThCD9OM,20063
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/segment.min.css,sha256=zLmNnl__Po9TAZWlayMZpH_DpZXhaHXTcSa8KGeRxMs,13763
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/shape.css,sha256=5sbfPkJ2vSJEo7Ht21qKtfupKDnPdYtwpxkszIHwqsY,3865
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/shape.js,sha256=6D_QO1uZyRzcGRxxaCGP4zRTcnHH-rF11XSDj8fsVn0,29873
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/shape.min.css,sha256=7KDwgqAZXncDCzulBQT3C9UcI_kopiPdoSF2NxpJQWE,2521
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/shape.min.js,sha256=Njt3jnaL2VeRaG0rRHt2niY7YXHeD4Z_fj17tN2syLU,10803
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sidebar.css,sha256=pboKxonzco97CJSpXvUG9Bj65PyqdlTlmi8C_XNQcJI,15757
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sidebar.js,sha256=-nippst3RqSK6cFS0b1VQIhhZ7x455Oq5vpvjxdFOhc,34488
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sidebar.min.css,sha256=FxNmgO-xW6HZ8kqkaDpzZG2GGTYYvBIkhHFsPPUx8f8,10726
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sidebar.min.js,sha256=LxCRzL8rRPXulWQPWkMgncUHL0hBU4IHsuNOVzIMi3I,13466
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/site.css,sha256=tpW_cbiDbTbWVk1ECO4bnddYLlytmUgArSW1Jx3x9DU,3918
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/site.js,sha256=-yF4ejA2WwzIujQ1y9b-i6dxpRYCE8lCSU76CQ9hZhw,14604
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/site.min.css,sha256=AYTFsBcTjn7JH9tBf1s3S68Fxr83IHQf5t5FpD0vGcw,2452
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/site.min.js,sha256=f-45BTFplAj5X_I64VjaIAqTulT6dVhF-rHvOG8pZpM,6066
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/state.js,sha256=rdhOQ83U-t08-IE-ZL7qwiJ_2NPtm0E--BfFJVRylSY,21498
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/state.min.js,sha256=sgXcJIgGI3ymppa7VewFhV3g4rnB_D55Yvoo-QX4Whw,7804
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/statistic.css,sha256=zC6fj8Mg8giRj0rcaq1GVcAfmdLfb0QYgBx_B-7bXlE,13221
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/statistic.min.css,sha256=Nbx1qdI_NIb-YBfRIMcmKn-IdY5OmUdd8gNIGgA2TCs,9594
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/step.css,sha256=3dgzVkMcFYJKP_UPk7quva4L7GLD6sln1aroRZlrcw8,23555
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/step.min.css,sha256=hifahh65UcRx9Cux-rpwi5pTJImD83BlfH1qbkiaWCI,19188
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sticky.css,sha256=eOSA5O3_qugssoDgdTovRNvNMe0kEWqQz1yQGJFZCQM,1288
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sticky.js,sha256=kHIMXTF2Wj8DYTaDRRqQ9ZVNUTOjDbBF84Dwm4tFYaM,31814
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sticky.min.css,sha256=SYOFZjW67UWxBsrtAfD4g0Tvf6CnltYw_IN0VemK2hU,607
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sticky.min.js,sha256=fu91ThJa6qnZoQAGTpxUw5Q1UN7d2Y_KHS0kjoteWCw,11854
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/tab.css,sha256=aX-PA0rhwxK3q6l3A3przKBvFAQ9LkhlDV3mETbQR98,1865
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/tab.js,sha256=xvNcoJnirQ1TJgVMy_8_AARTIveekx3bgoXNLc-FhC0,33771
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/tab.min.css,sha256=vTnhMR4q6W1dLyB3QYdtwRWnl2XLdtFA0I3kSnZH_EY,1075
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/tab.min.js,sha256=MgUTbr8RHTNylv3wIeBmCec-mS1iL9IJW7Y0NahYmrs,11487
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/table.css,sha256=omOnJC5bkklgjC6vJgTYJae-wbp3MSIu-mUM0gc5Q-o,25536
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/table.min.css,sha256=ODiMJS5bcTBrVMu-BtZytuSNpu3wHtILDb8no5BLNhw,18015
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/transition.css,sha256=XMKp0LQFx2Ec2oOjFuAPJik8VrDUgysP4TNOJH3Rzuw,49176
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/transition.js,sha256=sccxnC8Z9hx9lzlJLPYQ9E5FHETVYEVaA1uIQaA7ubU,36076
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/transition.min.css,sha256=cty1gaoozlRlEnqcQir7t93a7sOy2uCLp0c4jyBLWwA,33525
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/transition.min.js,sha256=k30cmb6hiQ_LGKpX2AcllUduUJ0kA4DKKStgUxkGQzM,13010
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/video.css,sha256=R9cpZZmFTZ70NmFVp7XhHOXaoZ3iodK1WlxGrisY7Tw,2346
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/video.js,sha256=Si_eMYc42BiLyyl4ur4u7K17kyw9biw-eAtbidaQH0c,16252
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/video.min.css,sha256=0MWKfR7_d_meresYhKG49N4ikgDL9YKvdj4ffNqhti0,1328
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/video.min.js,sha256=f7uHgbRqRCqHKBJm7CB31wMMnTjYHPmYaLi1D2i9QfI,6090
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/visibility.js,sha256=p_2kDyoT-GlUY_iLWH8RCRtSl-zunZ1oNx3dJwvyKbA,44180
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/visibility.min.js,sha256=Th3QlAMxD5M2RJ9nNOvuxJZCgZIlavx5-51jABKTs2A,16294
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/visit.js,sha256=9DsUmsPzmp3XD1pplmIeV5tNIeqEHMml5hcr3omsBJw,16142
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/visit.min.js,sha256=bT8zWI7mcAwX-Fyt67gogo3u_IT7q8uimamY5Vhk3eU,5887
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/package.js,sha256=BHq6qGCSMdDXDGJxZ4zxnKaREbFM2un2VqCkydrBTf0,774
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/package.json,sha256=Sy3ZVA4SxFzecOO88h1IVAnBiuDpRtXiUg6ME_YArI0,524
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/semantic.css,sha256=aje_ma2N_7VT1k2QTOLeqr3SfQ3Cr-7vB05D2-uo-YQ,869203
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/semantic.js,sha256=t-thIOFbQol3-vcB3C7kRbS49jG2_LC5dEp7NLxBpuA,759089
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/semantic.min.css,sha256=f5Dpq5VRrbzn8POovxN9HR3S7LhHQIAiCKYz4PB4ZZA,628934
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/semantic.min.js,sha256=69cT25pJVUmAyniwWMglXlEOEeZYuhmD8Hbj58gCS7Y,275740
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/brand-icons.eot,sha256=0CPFX94iBJXxOoe3KZXg35jI0ok1dymdGZ2lu_W0_gI,98640
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/brand-icons.svg,sha256=IcTTApw6luFW48z0iPvWxbD_LpBQYBaIN5LGFInrfpU,508636
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/brand-icons.ttf,sha256=QuNp3Iw3KXO6d6gmti0seiBwUyMT34MqIyiN23aXQVg,98404
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/brand-icons.woff,sha256=n6_Ww-e_wUXbQqkG5fpo_mpvlyIfAT0-gz_DIxuZLEQ,63728
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/brand-icons.woff2,sha256=59TVNAu-V6Adj3mSFC4nY9Q41Xg4kMdnSDBu6_oFamk,54488
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.eot,sha256=i04bhH4iIz1PRn00-u_nvL_rzm-pu77lYMRc2JSGh1E,106004
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.otf,sha256=vcXQufOXvoPohsdLAUHRlUqkOEs1nc5JgpmUxKLh978,93888
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.svg,sha256=GzY2PC_CxigjA7ao5Pm45c8-mD38cSHKeoiagKC-kA4,392355
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.ttf,sha256=y3-B9UL1xBiju7mtP5--eEFR0TsEzsUOzt7GATMko9o,105784
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.woff,sha256=lbakhA-HEeyrQnvCNuuGCY235ceCuvsTnIwwgFql_-E,50524
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.woff2,sha256=Q0RmtZVFqKHKxt2zgZfNxrNZlamMPzgS-4jWGxwwDdM,40148
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/outline-icons.eot,sha256=RTf6BjQO5iwmTp16TYqryrPee9osXMM0AQ9GtoMQb8s,31156
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/outline-icons.svg,sha256=T4_RcS28l2Pa57YNTH3ryg_433tFrdN6pDBt0iGL1zE,107567
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/outline-icons.ttf,sha256=Zxchcur85FY3JeZhBD1duFS4Z2ip6L05dY2-gcR5aTU,30928
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/outline-icons.woff,sha256=S8NZwnBXs-0LrKZtbFNJpdSmBQlvvHh1Bhui2Ro9bQU,14712
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/outline-icons.woff2,sha256=TSiDRDsk5CRSf2oKeqKJez33HyOdtANzxP92DkgUeAE,12240
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/images/flags.png,sha256=lNXH8WYTAcSm3Ekdct1VmgYgzZF6gm8N8bAju5bqnd0,28123
|
||||
pyOpenRPA/Resources/Web/jQuery/jquery-3.1.1.min.js,sha256=HPMOWdIdSuVgr3FD9ZE-_MgiK8qk_MdQjrgCtfqp6U4,86713
|
||||
pyOpenRPA/Resources/Web/pyOpenRPA_logo.png,sha256=7rulXo_C57xJQEaYWmAkChxXb6xbDW2zq-werzVbDbc,4899
|
||||
pyOpenRPA/Robot/Clipboard.py,sha256=q76X8L21zJwcwdoJJNPeCEwAV30xS6ylHP1WwvtxoWI,722
|
||||
pyOpenRPA/Robot/OrchestratorConnector.py,sha256=JUtdiUXCruqUqBD19gJBl9jk_b-tpWWx_v3MfBoKzoQ,20445
|
||||
pyOpenRPA/Robot/README.md,sha256=e2hKh7Tx6DAsX6jY_hBDhguL1L2Wiv6iugDB5otMzIA,2293
|
||||
pyOpenRPA/Robot/SettingsTemplate.py,sha256=Rp5XPeV2I4tCS2uf4Zkqm_ERJ6pZMg4-e5_lMqGJYLk,1453
|
||||
pyOpenRPA/Robot/Test.py,sha256=qXr990nXiFZX5SNv6QN9GLb_U4HZRmJnbZR2qSnwilY,2878
|
||||
pyOpenRPA/Robot/UIDesktop.py,sha256=3I2bllTDvR9d10O2ltkjoKmYw34wkkDAZfPlRpwbj30,77476
|
||||
pyOpenRPA/Robot/Utils/JSONNormalize.py,sha256=aIuVzuZDazhxkCOzoOjfhHVz66mp2FWdfPv5E7KWF5Y,3890
|
||||
pyOpenRPA/Robot/Utils/ProcessBitness.py,sha256=WlKL-DklGaoTnchtapOTM_ydxSB4yOeo9lcG3zr2VME,4524
|
||||
pyOpenRPA/Robot/Utils/ProcessCommunicator.py,sha256=8GfmLnOvAdosmt7YNT86uEV9cjhKippssCX62wOMJwM,8039
|
||||
pyOpenRPA/Robot/Utils/TimerRepeat.py,sha256=_kTct3X9SIEvS3DKM5bGNnjRBVJasmMFZntQaVbPX_E,961
|
||||
pyOpenRPA/Robot/Utils/ValueVerify.py,sha256=ObskxU4fOMoCGw74_nzYt6-a5jjrAckb3sdBLYyhYxY,777
|
||||
pyOpenRPA/Robot/Utils/__init__.py,sha256=pHlSQGRFKmn5RCTHIf-3a2ooA9T2xNOWridckynP7W4,28
|
||||
pyOpenRPA/Robot/Utils/__pycache__/JSONNormalize.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/Utils/__pycache__/ProcessBitness.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/Utils/__pycache__/ProcessCommunicator.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/Utils/__pycache__/TimerRepeat.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/Utils/__pycache__/ValueVerify.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/Utils/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/Window.py,sha256=UJl-sg4RvvJ35aG9jZOzqGVwE15XK7qPHqoOBD13xFk,431
|
||||
pyOpenRPA/Robot/__init__.py,sha256=L-5tPm6evytGWOzlqIq-2oiIhmQnruaxwIstyyaMkVI,253
|
||||
pyOpenRPA/Robot/__main__.py,sha256=l6II8JuXCsnVOcfs6-2jvogKYTVhbfj3Jl2ld3OIP7s,1992
|
||||
pyOpenRPA/Robot/__pycache__/Clipboard.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/OrchestratorConnector.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/SettingsTemplate.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/Test.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/UIDesktop.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/Window.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/JSONNormalize.py,sha256=g0Z8G2wojCgTAdZtyRiCfe0_FHSeAi72Va7R7mk27gg,3347
|
||||
pyOpenRPA/Studio/ProcessCommunicator.py,sha256=HD3XASJae31_HV3OznFe8E2MgZFXnwt7YveVN82M8nU,7912
|
||||
pyOpenRPA/Studio/RobotConnector.py,sha256=CYO0dQoqfs44SYD_VZ_TJh3WFu_DXigHBLHj4GJ2Icc,5038
|
||||
pyOpenRPA/Studio/Studio.py,sha256=_BXQjAMHew2fRWloXdqPOmYHX6i6C8ELPsW1TZNvjz4,8618
|
||||
pyOpenRPA/Studio/ValueVerify.py,sha256=ObskxU4fOMoCGw74_nzYt6-a5jjrAckb3sdBLYyhYxY,777
|
||||
pyOpenRPA/Studio/Web/Index.xhtml,sha256=wo3Y5CzWJQYMw9AgNHXynt1yGDLIoihRlt1weFLSuYQ,48240
|
||||
pyOpenRPA/Studio/Web/favicon.ico,sha256=6S8XwSQ_3FXPpaX6zYkf8uUewVXO9bHnrrDHEoWrEgw,112922
|
||||
pyOpenRPA/Studio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA/Studio/__main__.py,sha256=_57Rnq9DKbmmlpGFqIwVrWn_LRcU8jjmMTOny4_zlP8,308
|
||||
pyOpenRPA/Studio/__pycache__/JSONNormalize.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/__pycache__/ProcessCommunicator.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/__pycache__/RobotConnector.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/__pycache__/Studio.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/__pycache__/ValueVerify.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotDB/ExcelCom.py,sha256=hp0dvXOEC7Au00ueh7pqxkdixV-PC-km7tCt-wRunYs,343
|
||||
pyOpenRPA/Tools/RobotDB/HowToUse,sha256=TUXPZAFcse-PSlKFM6jcaYuuZZEmXOSSvgeqrbmIDoc,1473
|
||||
pyOpenRPA/Tools/RobotDB/RobotDB.py,sha256=qtGu8PS2atd0L8taCNpk-08Qpxp8Qz1lqwAcBkyLFLM,1655
|
||||
pyOpenRPA/Tools/RobotDB/Server.py,sha256=rjW9Sg-j9P8pFQD66Uih-rke6-f6sCulinwi4_W-3mc,19933
|
||||
pyOpenRPA/Tools/RobotDB/ServerSettings.py,sha256=5p9JwrpKHh68oVHIWazTajB6AOfzeapARbvGcJOFmNc,7406
|
||||
pyOpenRPA/Tools/RobotDB/__init__.py,sha256=qVH8fEPgXk54rmy-ol0PnT8GF5OlGE0a8mExwJ4tFqY,124
|
||||
pyOpenRPA/Tools/RobotDB/__main__.py,sha256=w9sXIF4r_PeWJjHJutTuH8DSYpXxpgcAN0KUOjiJ6PI,140
|
||||
pyOpenRPA/Tools/RobotDB/__pycache__/ExcelCom.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotDB/__pycache__/RobotDB.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotDB/__pycache__/Server.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotDB/__pycache__/ServerSettings.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotDB/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotDB/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotScreenActive/ConsoleStart.bat,sha256=_HNadUKHOYI5y6foG3srh8wjSzhX33xaKNylFtDjOJk,114
|
||||
pyOpenRPA/Tools/RobotScreenActive/Monitor.py,sha256=TV-YisVqa_uGiyJLG9oK4u-5aDjGiFYZFh1dPjOgYc8,492
|
||||
pyOpenRPA/Tools/RobotScreenActive/Screen.py,sha256=VnYcvCVymrD35l2J4ln_tlVn7CilZhxE4Ggw9P-OhIw,606
|
||||
pyOpenRPA/Tools/RobotScreenActive/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA/Tools/RobotScreenActive/__main__.py,sha256=JASxDDVKWUU7DAbDkRrGTrPk-P7LZchTZFh8usp6b4U,593
|
||||
pyOpenRPA/Tools/RobotScreenActive/__pycache__/Monitor.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotScreenActive/__pycache__/Screen.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotScreenActive/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotScreenActive/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/SafeSource/Crypter.py,sha256=VRrE5-oQxQtvMEPHM1lMXp2CKnceNBmIWJnsJoJkaVE,3616
|
||||
pyOpenRPA/Tools/SafeSource/DistrCreate.py,sha256=-_8BTle57LBKVknnB_3af-LghxrRmRGfRNu08CLNIvY,3232
|
||||
pyOpenRPA/Tools/SafeSource/DistrRun.py,sha256=zwUh6Jy-rDAZHV6fcTUMupkukojntFMroHJHMsNQgrE,9637
|
||||
pyOpenRPA/Tools/SafeSource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA/Tools/SafeSource/__main__.py,sha256=g5aYWnuUZoM2jDX2mSIl9tRAJg05tu5VxD2rGJWcACg,649
|
||||
pyOpenRPA/Tools/SafeSource/__pycache__/Crypter.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/SafeSource/__pycache__/DistrCreate.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/SafeSource/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/SafeSource/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/Terminator.py,sha256=VcjX3gFXiCGu3MMCidhrTNsmC9wsAqfjRJdTSU9fLnU,2178
|
||||
pyOpenRPA/Tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA/Tools/__pycache__/Terminator.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/__init__.py,sha256=HIl4GtAt0lGzG2lJPyRwIevTFjIX1iwfYYFpPSUlxAc,175
|
||||
pyOpenRPA/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/test.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@ -1,5 +0,0 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.33.1)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
||||
|
@ -1 +0,0 @@
|
||||
pyOpenRPA
|
@ -1,301 +1,100 @@
|
||||
import datetime
|
||||
import http.client
|
||||
import json
|
||||
import pdb
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
import importlib
|
||||
import psutil
|
||||
#Input arg
|
||||
# [
|
||||
# {
|
||||
# "Type": <RemoteMachineProcessingRun>,
|
||||
# host: <localhost>,
|
||||
# port: <port>,
|
||||
# bodyObject: <object dict, int, str, list>
|
||||
# },
|
||||
# {
|
||||
# "Type": "CMDStart",
|
||||
# "Command": ""
|
||||
# },
|
||||
# {
|
||||
# "Type": "OrchestratorRestart"
|
||||
# },
|
||||
# {
|
||||
# "Type": "OrchestratorSessionSave"
|
||||
# },
|
||||
# {
|
||||
# "Type": "GlobalDictKeyListValueSet",
|
||||
# "KeyList": ["key1","key2",...],
|
||||
# "Value": <List, Dict, String, int>
|
||||
# },
|
||||
# {
|
||||
# "Type": "GlobalDictKeyListValueAppend",
|
||||
# "KeyList": ["key1","key2",...],
|
||||
# "Value": <List, Dict, String, int>
|
||||
# },
|
||||
# {
|
||||
# "Type": "GlobalDictKeyListValueOperator+",
|
||||
# "KeyList": ["key1","key2",...],
|
||||
# "Value": <List, Dict, String, int>
|
||||
# },
|
||||
# {
|
||||
# "Type": "GlobalDictKeyListValueGet",
|
||||
# "KeyList": ["key1","key2",...]
|
||||
# },
|
||||
# {
|
||||
# "Type":"ProcessStart",
|
||||
# "Path":"",
|
||||
# "ArgList":[]
|
||||
# },
|
||||
# {
|
||||
# "Type":"ProcessStartIfTurnedOff",
|
||||
# "CheckTaskName":"", #Check if current task name is not active (then start process),
|
||||
# "Path":"",
|
||||
# "ArgList":[]
|
||||
# },
|
||||
# {
|
||||
# "Type":"ProcessStop",
|
||||
# "Name":"",
|
||||
# "FlagForce":True,
|
||||
# "User":"" #Empty - all users, user or %username%
|
||||
# },
|
||||
# {
|
||||
# "Type":"PythonStart",
|
||||
# "ModuleName":"",
|
||||
# "FunctionName":"",
|
||||
# "ArgList":[],
|
||||
# "ArgDict":{}
|
||||
# },
|
||||
# {
|
||||
# "Type":"WindowsLogon",
|
||||
# "Domain":"",
|
||||
# "User":"",
|
||||
# "Password":""
|
||||
# # Return "Result": True - user is logged on, False - user is not logged on
|
||||
# }
|
||||
# ]
|
||||
##################################
|
||||
#Output result
|
||||
# <input arg> with attributes:
|
||||
# "DateTimeUTCStringStart"
|
||||
# "DateTimeUTCStringStop"
|
||||
# "Result"
|
||||
gSettingsDict = None
|
||||
def Activity(inActivity):
|
||||
#Глобальная переменная - глобальный словарь унаследованный от Settings.py
|
||||
global gSettingsDict
|
||||
lL = gSettingsDict["Logger"] # Alias for logger
|
||||
#Alias (compatibility)
|
||||
lItem = inActivity
|
||||
lCurrentDateTime = datetime.datetime.now()
|
||||
###########################################################
|
||||
#Обработка запроса на отправку команды на удаленную машину
|
||||
###########################################################
|
||||
if lItem["Type"]=="RemoteMachineProcessingRun":
|
||||
lHTTPConnection = http.client.HTTPConnection(lItem["host"], lItem["port"], timeout=5)
|
||||
try:
|
||||
lHTTPConnection.request("POST","/ProcessingRun",json.dumps(lItem["bodyObject"]))
|
||||
except Exception as e:
|
||||
#Объединение словарей
|
||||
lItem["Result"] = {"State":"disconnected","ExceptionString":str(e)}
|
||||
# 1.2.0 - general processor - contains old orchestrator processor + RDPActive processor
|
||||
import time, copy, threading
|
||||
# Run processor synchronious
|
||||
# inThreadControlDict = {"ThreadExecuteBool":True}
|
||||
def ProcessorRunSync(inGSettings, inRobotRDPThreadControlDict):
|
||||
"""
|
||||
"ProcessorDict": { # Has been changed. New general processor (one threaded) v.1.2.0
|
||||
"ActivityList": [ # List of the activities
|
||||
# {
|
||||
# "Def":"DefAliasTest", # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
|
||||
# "ArgList":[1,2,3], # Args list
|
||||
# "ArgDict":{"ttt":1,"222":2,"dsd":3}, # Args dictionary
|
||||
# "ArgGSettings": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
|
||||
# "ArgLogger": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
|
||||
# },
|
||||
],
|
||||
"AliasDefDict": {}, # Storage for def with Str alias. To use it see pyOpenRPA.Orchestrator.ControlPanel
|
||||
"CheckIntervalSecFloat": 1.0 # Interval for check gSettings in ProcessorDict > ActivityList
|
||||
"ExecuteBool": True # Flag to execute thread processor
|
||||
"""
|
||||
lL = inGSettings["Logger"] # Logger alias
|
||||
inGSettings["ProcessorDict"]["ThreadIdInt"] = threading.get_ident() # fill Processor thread id
|
||||
while inGSettings["ProcessorDict"]["ExecuteBool"]:
|
||||
lActivityList = inGSettings["ProcessorDict"]["ActivityList"] # Alias
|
||||
if len(lActivityList)>0:
|
||||
if lL: lL.debug(f'Processor ActivityList len: {len(lActivityList)}')
|
||||
lActivityItem = inGSettings["ProcessorDict"]["ActivityList"].pop(0) # Extract the first item from processor queue
|
||||
inRobotRDPThreadControlDict["ThreadExecuteBool"]=False # Stop the RobotRDPActive monitoring
|
||||
ActivityListExecute(inGSettings = inGSettings, inActivityList = [lActivityItem]) # execute the activity item
|
||||
inRobotRDPThreadControlDict["ThreadExecuteBool"] = True # Continue the RobotRDPActive monitoring
|
||||
else:
|
||||
lHTTPResponse=lHTTPConnection.getresponse()
|
||||
lHTTPResponseByteArray=lHTTPResponse.read()
|
||||
lItem["Result"] = json.loads(lHTTPResponseByteArray.decode('utf8'))
|
||||
###########################################################
|
||||
#Обработка команды CMDStart
|
||||
###########################################################
|
||||
if lItem["Type"]=="CMDStart":
|
||||
lCMDCode="cmd /c "+lItem["Command"]
|
||||
subprocess.Popen(lCMDCode)
|
||||
lResultCMDRun=1#os.system(lCMDCode)
|
||||
lItem["Result"] = str(lResultCMDRun)
|
||||
###########################################################
|
||||
#Обработка команды OrchestratorRestart
|
||||
###########################################################
|
||||
if lItem["Type"]=="OrchestratorRestart":
|
||||
# Dump RDP List in file json
|
||||
lFile = open("_SessionLast_RDPList.json", "w", encoding="utf-8")
|
||||
lFile.write(json.dumps(gSettingsDict["RobotRDPActive"]["RDPList"])) # dump json to file
|
||||
lFile.close() # Close the file
|
||||
if lL: lL.info(f"Orchestrator has dump the RDP list before the restart. The RDP List is {gSettingsDict['RobotRDPActive']['RDPList']}. Do restart")
|
||||
# Restart session
|
||||
os.execl(sys.executable, os.path.abspath(__file__), *sys.argv)
|
||||
lItem["Result"] = True
|
||||
sys.exit(0)
|
||||
###########################################################
|
||||
# Обработка команды OrchestratorSessionSave
|
||||
###########################################################
|
||||
if lItem["Type"] == "OrchestratorSessionSave":
|
||||
# Dump RDP List in file json
|
||||
lFile = open("_SessionLast_RDPList.json", "w", encoding="utf-8")
|
||||
lFile.write(json.dumps(gSettingsDict["RobotRDPActive"]["RDPList"])) # dump json to file
|
||||
lFile.close() # Close the file
|
||||
if lL: lL.info(
|
||||
f"Orchestrator has dump the RDP list before the restart. The RDP List is {gSettingsDict['RobotRDPActive']['RDPList']}")
|
||||
lItem["Result"] = True
|
||||
###########################################################
|
||||
#Обработка команды GlobalDictKeyListValueSet
|
||||
###########################################################
|
||||
if lItem["Type"]=="GlobalDictKeyListValueSet":
|
||||
lDict = gSettingsDict
|
||||
for lItem2 in lItem["KeyList"][:-1]:
|
||||
#Check if key - value exists
|
||||
if lItem2 in lDict:
|
||||
pass
|
||||
else:
|
||||
lDict[lItem2]={}
|
||||
lDict=lDict[lItem2]
|
||||
#Set value
|
||||
lDict[lItem["KeyList"][-1]]=lItem["Value"]
|
||||
lItem["Result"] = True
|
||||
###########################################################
|
||||
# Обработка команды GlobalDictKeyListValueAppend
|
||||
###########################################################
|
||||
if lItem["Type"] == "GlobalDictKeyListValueAppend":
|
||||
lDict = gSettingsDict
|
||||
for lItem2 in lItem["KeyList"][:-1]:
|
||||
# Check if key - value exists
|
||||
if lItem2 in lDict:
|
||||
pass
|
||||
else:
|
||||
lDict[lItem2] = {}
|
||||
lDict = lDict[lItem2]
|
||||
# Set value
|
||||
lDict[lItem["KeyList"][-1]].append(lItem["Value"])
|
||||
lItem["Result"] = True
|
||||
###########################################################
|
||||
# Обработка команды GlobalDictKeyListValueOperator+
|
||||
###########################################################
|
||||
if lItem["Type"] == "GlobalDictKeyListValueOperator+":
|
||||
lDict = gSettingsDict
|
||||
for lItem2 in lItem["KeyList"][:-1]:
|
||||
# Check if key - value exists
|
||||
if lItem2 in lDict:
|
||||
pass
|
||||
else:
|
||||
lDict[lItem2] = {}
|
||||
lDict = lDict[lItem2]
|
||||
# Set value
|
||||
lDict[lItem["KeyList"][-1]]+=lItem["Value"]
|
||||
lItem["Result"] = True
|
||||
###########################################################
|
||||
#Обработка команды GlobalDictKeyListValueGet
|
||||
###########################################################
|
||||
if lItem["Type"]=="GlobalDictKeyListValueGet":
|
||||
lDict = gSettingsDict
|
||||
for lItem2 in lItem["KeyList"][:-1]:
|
||||
#Check if key - value exists
|
||||
if lItem2 in lDict:
|
||||
pass
|
||||
else:
|
||||
lDict[lItem2]={}
|
||||
lDict=lDict[lItem2]
|
||||
#Return value
|
||||
lItem["Result"]=lDict.get(lItem["KeyList"][-1],None)
|
||||
#####################################
|
||||
#ProcessStart
|
||||
#####################################
|
||||
if lItem["Type"]=="ProcessStart":
|
||||
#Вид активности - запуск процесса
|
||||
#Запись в массив отработанных активностей
|
||||
#Запустить процесс
|
||||
lItemArgs=[lItem["Path"]]
|
||||
lItemArgs.extend(lItem["ArgList"])
|
||||
subprocess.Popen(lItemArgs,shell=True)
|
||||
#####################################
|
||||
#ProcessStartIfTurnedOff
|
||||
#####################################
|
||||
if lItem["Type"]=="ProcessStartIfTurnedOff":
|
||||
#Check if process running
|
||||
#remove .exe from Taskname if exists
|
||||
lCheckTaskName = lItem["CheckTaskName"]
|
||||
if len(lCheckTaskName)>4:
|
||||
if lCheckTaskName[-4:].upper() != ".EXE":
|
||||
lCheckTaskName = lCheckTaskName+".exe"
|
||||
else:
|
||||
lCheckTaskName = lCheckTaskName+".exe"
|
||||
#Check if process exist
|
||||
if not CheckIfProcessRunning(lCheckTaskName):
|
||||
#Вид активности - запуск процесса
|
||||
#Запись в массив отработанных активностей
|
||||
#Запустить процесс
|
||||
lItemArgs=[lItem["Path"]]
|
||||
lItemArgs.extend(lItem["ArgList"])
|
||||
subprocess.Popen(lItemArgs,shell=True)
|
||||
#################################
|
||||
#ProcessStop
|
||||
#################################
|
||||
if lItem["Type"]=="ProcessStop":
|
||||
#Вид активности - остановка процесса
|
||||
#часовой пояс пока не учитываем
|
||||
#Сформировать команду на завершение
|
||||
lActivityCloseCommand='taskkill /im '+lItem["Name"]
|
||||
#TODO Сделать безопасную обработку,если параметра нет в конфигурации
|
||||
if lItem.get('FlagForce',False):
|
||||
lActivityCloseCommand+=" /F"
|
||||
#Завершить процессы только текущего пользоваиеля
|
||||
if lItem.get('User',"")!="":
|
||||
lActivityCloseCommand+=f' /fi "username eq {lItem["User"]}"'
|
||||
#Завершить процесс
|
||||
os.system(lActivityCloseCommand)
|
||||
#################################
|
||||
#PythonStart
|
||||
#################################
|
||||
if lItem["Type"]=="PythonStart":
|
||||
try:
|
||||
#Подключить модуль для вызова
|
||||
lModule=importlib.import_module(lItem["ModuleName"])
|
||||
#Найти функцию
|
||||
lFunction=getattr(lModule,lItem["FunctionName"])
|
||||
lItem["Result"]=lFunction(*lItem.get("ArgList",[]),**lItem.get("ArgDict",{}))
|
||||
except Exception as e:
|
||||
if lL: lL.exception("Loop activity error: module/function not founded")
|
||||
#################################
|
||||
# Windows logon
|
||||
#################################
|
||||
if lItem["Type"] == "WindowsLogon":
|
||||
import win32security
|
||||
try:
|
||||
hUser = win32security.LogonUser(
|
||||
lItem["User"],
|
||||
lItem["Domain"],
|
||||
lItem["Password"],
|
||||
win32security.LOGON32_LOGON_NETWORK,
|
||||
win32security.LOGON32_PROVIDER_DEFAULT
|
||||
)
|
||||
except win32security.error:
|
||||
lItem["Result"] = False
|
||||
else:
|
||||
lItem["Result"] = True
|
||||
###################################
|
||||
#Вернуть результат
|
||||
return lItem
|
||||
time.sleep(inGSettings["ProcessorDict"]["CheckIntervalSecFloat"]) # Sleep when list is empty
|
||||
|
||||
# Execute ActivityItem list
|
||||
# return the def result
|
||||
def ActivityListExecute(inGSettings, inActivityList):
|
||||
lL = inGSettings["Logger"] # Logger alias
|
||||
lResultList = [] # init the result list
|
||||
try:
|
||||
for lActivityItem in inActivityList: # Iterate throught the activity list
|
||||
if lL: lL.info(f'pyOpenRPA Processor.ActivityListExecute:: Def:{str(lActivityItem["Def"])}. Parameters are not available to see.')
|
||||
lDef = None # Def variable
|
||||
if callable(lActivityItem["Def"]): # CHeck if def is callable
|
||||
lDef = lActivityItem["Def"] # Get the def
|
||||
else: # Is not callable - check alias
|
||||
lDef = inGSettings["ProcessorDict"]["AliasDefDict"].get(lActivityItem["Def"], None) # get def if def key in Alias def storage
|
||||
#gSettings
|
||||
lGSettingsDictKey = lActivityItem.pop("ArgGSettings",None)
|
||||
# # Prepare arg dict - gSettings
|
||||
if type(lGSettingsDictKey) is str and lGSettingsDictKey is not "": # check if gSetting key is in ArgDict 13.02.2021 - Fix when ArgGSettings is ""
|
||||
lActivityItem["ArgDict"][lGSettingsDictKey] = inGSettings # Set the gSettings in dict
|
||||
# # Prepare arg list
|
||||
elif type(lGSettingsDictKey) is int: # check if gSetting key is in ArgDict
|
||||
lActivityItem["ArgList"].insert(lGSettingsDictKey,inGSettings)# Set the gSettings in list by the index
|
||||
#Logger
|
||||
lLoggerDictKey = lActivityItem.pop("ArgLogger",None)
|
||||
# # Prepare arg dict - Logger
|
||||
if type(lLoggerDictKey) is str and lLoggerDictKey is not "": # check if gSetting key is in ArgDict 13.02.2021 - Fix when ArgLogger is ""
|
||||
lActivityItem["ArgDict"][lLoggerDictKey] = lL # Set the lLogger in dict
|
||||
# # Prepare arg list
|
||||
elif type(lLoggerDictKey) is int: # check if gSetting key is in ArgDict
|
||||
lActivityItem["ArgList"].insert(lLoggerDictKey,lL)# Set the lLogger in list by the index
|
||||
|
||||
try: # try to run function from Processor.py
|
||||
lActivityItemResult = lDef(*lActivityItem["ArgList"], **lActivityItem["ArgDict"])
|
||||
lResultList.append(lActivityItemResult) # return the result
|
||||
except Exception as e:
|
||||
if lL: lL.exception(f"pyOpenRPA Processor.ActivityListExecute: Exception in def execution - activity will be ignored.") # Logging
|
||||
lResultList.append(e) # return the generated exception
|
||||
except Exception as e:
|
||||
if lL: lL.exception(f"pyOpenRPA Processor.ActivityListExecute: Exception when initialisation - All activity list will be ignored.") # Logging
|
||||
return lResultList # return the result list
|
||||
|
||||
def __ActivityListVerify__(inActivityList):
|
||||
"""
|
||||
Verify ActivityList variable - raise exception if input list is not list of dict with structure:
|
||||
# "Def":"DefAliasTest", # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
|
||||
# "ArgList":[1,2,3], # Args list
|
||||
# "ArgDict":{"ttt":1,"222":2,"dsd":3}, # Args dictionary
|
||||
# "ArgGSettings": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
|
||||
# "ArgLogger": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
|
||||
|
||||
def ActivityListOrDict(inActivityListOrDict):
|
||||
#Check arg type (list or dict)
|
||||
if type(inActivityListOrDict)==list:
|
||||
#List activity
|
||||
lResult=[]
|
||||
for lItem in inActivityListOrDict:
|
||||
lResult.append(Activity(lItem))
|
||||
return lResult
|
||||
if type(inActivityListOrDict)==dict:
|
||||
#Dict activity
|
||||
return Activity(inActivityListOrDict)
|
||||
|
||||
def CheckIfProcessRunning(processName):
|
||||
'''
|
||||
Check if there is any running process that contains the given name processName.
|
||||
'''
|
||||
#Iterate over the all the running process
|
||||
for proc in psutil.process_iter():
|
||||
try:
|
||||
# Check if process name contains the given name string.
|
||||
if processName.lower() in proc.name().lower():
|
||||
return True
|
||||
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
|
||||
pass
|
||||
return False;
|
||||
:param inActivityList:
|
||||
:return:
|
||||
"""
|
||||
# CASE LIST
|
||||
if type(inActivityList) is list:
|
||||
for lItem in inActivityList:
|
||||
# CASE LIST item is LIST
|
||||
if type(lItem) is list:
|
||||
raise Exception(f"pyOpenRPA Processor.__ActivityListVerify__: inActivityList has wrong structure! Details: Your ActivityList item is list too. List of the list :(")
|
||||
# CASE Item is not dict
|
||||
if type(lItem) is not dict:
|
||||
raise Exception(f"pyOpenRPA Processor.__ActivityListVerify__: inActivityList has wrong structure! Details: Your ActivityList item is is not dict")
|
||||
# CASE HAS NO "Def"
|
||||
if "Def" not in lItem:
|
||||
raise Exception(f"pyOpenRPA Processor.__ActivityListVerify__: inActivityList has wrong structure! Details: Activity item has no attribute 'Def'")
|
||||
#CASE NOT LIST
|
||||
else:
|
||||
raise Exception(f"pyOpenRPA Processor.__ActivityListVerify__: inActivityList has wrong structure! Details: Your ActivityList is not a list.")
|
@ -1,7 +1,9 @@
|
||||
r"""
|
||||
|
||||
The OpenRPA package (from UnicodeLabs)
|
||||
The pyOpenRPA package (from UnicodeLabs)
|
||||
|
||||
"""
|
||||
from .Web import Basic
|
||||
from .__Orchestrator__ import *
|
||||
__all__ = []
|
||||
__author__ = 'Ivan Maslov <ivan.maslov@unicodelabs.ru>'
|
@ -1,4 +1,5 @@
|
||||
import sys
|
||||
lFolderPath = "\\".join(__file__.split("\\")[:-3])
|
||||
sys.path.insert(0, lFolderPath)
|
||||
from pyOpenRPA.Orchestrator import Orchestrator
|
||||
from pyOpenRPA.Orchestrator import __Orchestrator__
|
||||
__Orchestrator__.__deprecated_orchestrator_start__() # Backward compatibility below the v1.2.0. Will be deprecated in 1.3.0
|
@ -1 +0,0 @@
|
||||
pip
|
@ -1,319 +0,0 @@
|
||||
pyOpenRPA-1.1.20.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
pyOpenRPA-1.1.20.dist-info/METADATA,sha256=B3Ph33GyqyoXYSX_0wGNMu6KLwFG_lj6NIXaCKJP-TA,3352
|
||||
pyOpenRPA-1.1.20.dist-info/RECORD,,
|
||||
pyOpenRPA-1.1.20.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA-1.1.20.dist-info/WHEEL,sha256=qB97nP5e4MrOsXW5bIU5cUn_KSVr10EV0l-GCHG9qNs,97
|
||||
pyOpenRPA-1.1.20.dist-info/top_level.txt,sha256=RPzwQXgYBRo_m5L3ZLs6Voh8aEkMeT29Xsul1w1qE0g,10
|
||||
pyOpenRPA/.idea/inspectionProfiles/profiles_settings.xml,sha256=YXLFmX7rPNGcnKK1uX1uKYPN0fpgskYNe7t0BV7cqkY,174
|
||||
pyOpenRPA/.idea/misc.xml,sha256=ySjeaQ1DfqxaRTlFGT_3zW5r9mWuwxoAK_AX4QiuAZM,203
|
||||
pyOpenRPA/.idea/modules.xml,sha256=Q__U1JIA2cjxbLRXAv-SfYY00fZA0TNlpkkbY4s3ncg,277
|
||||
pyOpenRPA/.idea/pyOpenRPA.iml,sha256=EXh41F8lqRiSBMVg-n2tKaEaHC6_3gGSuKkPJA12Na0,408
|
||||
pyOpenRPA/.idea/vcs.xml,sha256=2HygA1oRAwc3VBf-irxHrX5JJG9DXuQwrN0BlubhoKY,191
|
||||
pyOpenRPA/.idea/workspace.xml,sha256=kcCP7x0iSOAWJdy7YtntGrgsQ04QIq0b6_9w04DKxfg,2555
|
||||
pyOpenRPA/Info.md,sha256=u4Nv-PjniSF0Zlbtr6jEJX2vblK3_1zhSLNUgOdtDaA,85
|
||||
pyOpenRPA/Orchestrator/BackwardCompatibility.py,sha256=y1Dyb8wmRcJmk1SxTVmgpR8r64Aa-Io9MG_5khvYgH0,3672
|
||||
pyOpenRPA/Orchestrator/Orchestrator.py,sha256=32AVVDVpMgam9Zg5n79WJDiuhGQTehtBWTFQrm6Mzhg,12387
|
||||
pyOpenRPA/Orchestrator/Processor.py,sha256=JI7nnkwXXnpkSJx6GlxoPjjiFOv3q3e-xZDLxKVYKrg,12634
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/CMDStr.py,sha256=6otw1WnR2_evvQ5LGyOVh0BLk_nTdilViGub7p56fXQ,1531
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/Clipboard.py,sha256=YB5HJL-Qf4IlVrFHyRv_ZMJ0Vo4vjyYqWKjvrTnf1k4,1564
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/Connector.py,sha256=fEwwCaYggb_KB72_9Bi-bn1zvglssNWNaWz9GTaiVk4,26543
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/ConnectorExceptions.py,sha256=wwH9JOoMFFxDKQ7IyNyh1OkFkZ23o1cD8Jm3n31ycII,657
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/Processor.py,sha256=AQ_u9QVSLpce9hhSacm3UT98bErc636MXza4Q6mHsSc,12264
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/RobotRDPActive.py,sha256=jCtHXExgRW0licn8K-xSO3tFd6P-4IFzp46TdS57vQ4,10726
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/Scheduler.py,sha256=21N0ilFzWI1mj3X5S9tPMgwvG7BviuBxfTuqBY85Hy4,9144
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/Template.rdp,sha256=JEMVYkEmNcfg_p8isdIyvj9E-2ZB5mj-R3MkcNMKxkA,2426
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/Timer.py,sha256=y8--fUvg10qEFomecl_cmdWpdGjarZBlFpMbs_GvzoQ,1077
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__main__.py,sha256=z9PaUK4_nBiGd0YJdYVHV_rFx6VjZaxrrmKxSyoTFwY,2508
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/CMDStr.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/Clipboard.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/Connector.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/ConnectorExceptions.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/Processor.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/RobotRDPActive.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/Scheduler.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/Timer.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotRDPActive/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/ConsoleStart.bat,sha256=_HNadUKHOYI5y6foG3srh8wjSzhX33xaKNylFtDjOJk,114
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/Monitor.py,sha256=TV-YisVqa_uGiyJLG9oK4u-5aDjGiFYZFh1dPjOgYc8,492
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/Screen.py,sha256=VnYcvCVymrD35l2J4ln_tlVn7CilZhxE4Ggw9P-OhIw,606
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/__main__.py,sha256=JASxDDVKWUU7DAbDkRrGTrPk-P7LZchTZFh8usp6b4U,593
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/__pycache__/Monitor.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/__pycache__/Screen.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/RobotScreenActive/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/Server.py,sha256=dO82x5_tmPSn0oKgdYs7BzM3kZZkh5MWNegxUEwE01I,25694
|
||||
pyOpenRPA/Orchestrator/ServerSettings.py,sha256=dK8pQzg2mcLPjbizOPCP7yHMMVLiTh8RbYVnJXn-Mvg,15640
|
||||
pyOpenRPA/Orchestrator/Timer.py,sha256=HvYtEeH2Q5WVVjgds9XaBpWRmvZgwgBXurJDdVVq_T0,2097
|
||||
pyOpenRPA/Orchestrator/Web/Index.js,sha256=zdbj1ioNgxhprLpGIQ2YYraKUMUpkBiVoR-3GXGR5X0,28258
|
||||
pyOpenRPA/Orchestrator/Web/Index.xhtml,sha256=uRjdlkK8-yyrh4y3BkBYlFkRHzzPlHWz5dRh1FmG5QE,14260
|
||||
pyOpenRPA/Orchestrator/Web/favicon.ico,sha256=6S8XwSQ_3FXPpaX6zYkf8uUewVXO9bHnrrDHEoWrEgw,112922
|
||||
pyOpenRPA/Orchestrator/__init__.py,sha256=qVH8fEPgXk54rmy-ol0PnT8GF5OlGE0a8mExwJ4tFqY,124
|
||||
pyOpenRPA/Orchestrator/__main__.py,sha256=cOd8WU77VGgzTZUB0WmWpPmdYyMZY1zVyuU9yx26MKs,144
|
||||
pyOpenRPA/Orchestrator/__pycache__/BackwardCompatibility.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/Orchestrator.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/Processor.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/Server.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/ServerSettings.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/Timer.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Orchestrator/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/README.md,sha256=e2hKh7Tx6DAsX6jY_hBDhguL1L2Wiv6iugDB5otMzIA,2293
|
||||
pyOpenRPA/Resources/Web/Google/LatoItalic.css,sha256=pB6OZ6F2VsaqkL-g5hW-wE_T0m9H_NltzmzjX-XAKDk,3112
|
||||
pyOpenRPA/Resources/Web/Handlebars/handlebars-v4.1.2.js,sha256=h6O4BrhyPtJspLDEQwogC53uHFRozuBpxvN2S4tJHE8,171994
|
||||
pyOpenRPA/Resources/Web/JsRender/jsrender.min.js,sha256=00hs6PwCiAfN_gatFdLofj3yBf8ue5Z7jCXX_th2FFg,25927
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/.versions,sha256=gGkuqPk07gAhjnNJVjVR_BA4SSBzqazbY8eEpddH01U,72
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/LICENSE,sha256=ifWbZZ0piwisfkIil1gacnBMxNnAHa7yCn1etItX1Y4,1102
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/README.md,sha256=oITQ5k-7jxoYAAQpzAXFROqgcnGzPrTd7GqkZSGqKW8,448
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/accordion.css,sha256=UC6U37i_pXBVMlUmFMLi1S8FIhFycJjAePP-hRGKzQM,8971
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/accordion.js,sha256=6cCQ6FlT1bM_QA4OpA_vfMljasKU1foGszlAIyhWi3A,20790
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/accordion.min.css,sha256=u9_5Zru9uMTtrXZpdfLawT_kJ5LFcmrMFr1QWXfDqwA,6955
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/accordion.min.js,sha256=kt0Dfi-mrxAU-iYsfDrkROHrb55Hi0lVWC7MT46_xnU,7100
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/ad.css,sha256=CiW55EUiruW1Tp0jrz2yDvQ8jYxDVMDmVcROV5_eBzo,4176
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/ad.min.css,sha256=7D7QYK0TBRyE4dN3SYXD_owb0j8UXywfPKzab2e743I,2066
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/api.js,sha256=Vjx6JZpe0iVJ6t8gp3TO3UjIyZkNBPN-taCS8MWwvJI,40952
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/api.min.js,sha256=und4HgOg2CxzBcqdJOvcT9LfJx0Hf9xQmEO_u7r1Ync,14594
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/breadcrumb.css,sha256=SJD_Mmi9BUmGXVhCXlIM1ei93yJVreQx0FAT68_t01w,2166
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/breadcrumb.min.css,sha256=-40OBPSbvydFFq9P3XPydeyWOrsh8g600mK9HXNoLnI,1192
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/button.css,sha256=wdCjDbx3M-jkpA7whQetZvX3ZE7wyBwRlCbcTVXKobc,116361
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/button.min.css,sha256=37bmMDGVPsjpcyAe7GqWsqv3UpsPTvlE5AiCVtT5NxY,90207
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/card.css,sha256=0oHZ2Qh74uybsgxLhP2ag_kQGTyOx3Kbzsjs6LvARzI,25330
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/card.min.css,sha256=anR2MHuWyx-iEc6wsI5nBMWnboFRqvOT7r-KOrKK-BQ,17410
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/checkbox.css,sha256=5u4dyQfH-wpdFbakv5CV4uIhWbBb2Tge0ZC5-tA2dX8,17473
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/checkbox.js,sha256=s-cRpbhGBxHgpnZdU3yFZciSW4n1QuruHjkX6gCyqT0,26912
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/checkbox.min.css,sha256=cy6WFzeIQ_5hHE7LEFxAK8yfR_zdfjoEubGRy1wCLv4,12727
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/checkbox.min.js,sha256=mlvPY4Gm-w6mgnAZ2GVMiBo5UDU7x_vaxKA5VRxdjR4,11369
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/colorize.js,sha256=imQdcIH6qpozSWEYeIpilPOfKHOJbD6V9RuKOC7yyEE,8710
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/colorize.min.js,sha256=oUDFJRLSaINMaJIZmuzYttfcMgkb7I6CpuEJ6bMfAVI,3270
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/comment.css,sha256=WAotERTFZQyxKNDJiSLlreq5KVja4xNM_bXUeG7NyVQ,5120
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/comment.min.css,sha256=JYlEkH8IupEqfItr2N9WZaNYkyF6rX2bnP6Y8ktXdCU,2945
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/container.css,sha256=bzDnWjcw404DoiHuz6-3iMRmbzJePDPgUGHcx3nFAuU,3099
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/container.min.css,sha256=VizQkNfO7_OANkM37_7xKxHQPEcUTBRuj3R_xkaULO8,1925
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dimmer.css,sha256=xKjQ9JWKG6zlrjyB5zECQc5vLZ7uCg7S5X-aUNKh6b8,5559
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dimmer.js,sha256=TuB9IPn4wx2n47nRVYf9CKvLotDL9d7gQcNArXupiRU,22303
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dimmer.min.css,sha256=-MBET9URQztSrMHpKaB8oyTckkm-lXisQbuxqd2UyOk,3517
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dimmer.min.js,sha256=4jCyaIQIKQX4zzzvspDqEvUmsPnpkr5lFuDOvKR_Wbo,8071
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/divider.css,sha256=a_0UrPhzoGJZZd8PBDgc5C0utGbzM6hjZbkDyy4pzfw,8034
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/divider.min.css,sha256=2XcokR56EPJZJh0ofnGgp-QPx2VpHYzDcdZdtR08uBs,6097
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dropdown.css,sha256=rJfAK26TU_FrVEYQxX1iWS4Z91SORlfnM128BfpI1II,37420
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dropdown.js,sha256=KnpOJhLPr4nCvh6M4qxqs8Y8lPGNZgLK6jZcGWrYzHo,145962
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dropdown.min.css,sha256=7Lwg8bz5Df_7YZ6D-ywoa01hT3IkqC09ZKBKtGe6gow,25679
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/dropdown.min.js,sha256=uEocYy6a0MpPLLHtYV7QAGdOeMRwE0Am2WtnOg_hBfM,50895
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/embed.css,sha256=19QhoCUbplkH_W5a7ejlpO6PoqSEFVA1xdHvaZp98yw,3169
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/embed.js,sha256=O3znHvAxO5xYlwzn4y3lQDde_iTdy29iUAmPqNfg4-0,20926
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/embed.min.css,sha256=SHH3TOGQhg1d5mrYCZeko1qvN3_NoETWQzBmfGUOpjc,1836
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/embed.min.js,sha256=QN4vIzPRpT4BFVPyA702nPG8nZKWfM-HygoF9jPBDJA,7728
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/feed.css,sha256=aFj6fLvIPQfeRxyKu_TlLKeUcwmI5GwOR7pY1Lb0JKM,5845
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/feed.min.css,sha256=-l8OBrtbhQi-fhQLHwA0cut_JWOuRWc44I0KpPxUx_M,3590
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/flag.css,sha256=rvyaZDdUGBPNuvOE8lzpW-Z4q3LYkJi8T99JlN1aF3E,22423
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/flag.min.css,sha256=WX74cISnDHD9kiyzCAiXiUWfnmv6cwdmBXgXtA5TUuw,18577
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/form.css,sha256=oNyqIev2BGrxigiMt72unbkne8-OWJ6UtaUGM4XZ9Y4,29092
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/form.js,sha256=FCxhpdJMgA6H88ka82b0jcqg-a8S53T0sVVbS_chLPA,57618
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/form.min.css,sha256=BmOkPn-zjy4WbHvcIvm18Vq0nhJjwADEBxvsLqX0sXg,21568
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/form.min.js,sha256=fK_KHBgbjblWL2-hRtohUzj6b12XWi6pVujkG1Ru9-w,20458
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/grid.css,sha256=I35Jh57rWCJoLMuJYXksccmBzc6V1XC1Mi_na_oAp84,73036
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/grid.min.css,sha256=5iW6X6_QT_7PgFBce4OTfLOOaSoovOoOb2U8w1yZDtc,57335
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/header.css,sha256=32EgHb7XmTT_AWH7Nr08PjXP2op-xhwlSqSIThcZKmY,13499
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/header.min.css,sha256=hHgAxfAsLFDPcyU6T6cRE_M6R-4rKEfPX5kOHVyJNes,8872
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/icon.css,sha256=CHLhcJDvnks69dz2lyZC0idfGnPFx4qdKA82Hm_bEDo,86945
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/icon.min.css,sha256=4opKQbtTAtsuIkfkEMuIA3eD3T4m1X3mfiCVTS6x2_A,67019
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/image.css,sha256=eZLe0mOsWAJETFvjXHlZXAnSY87SGQlRDJna2_EZ67U,5676
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/image.min.css,sha256=eXzqGHi6p4yiYGCiYPOcGXYbKeQtA0Df_w0gN88KCD0,3727
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/input.css,sha256=lYFTBK5TuWVaB2LSwjdl83iM9l4rn7jPwoFcEfvHQR8,12699
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/input.min.css,sha256=4ouF0Y10UKjiT6iJlHxD5aOe8WljYoAxPqpiy7iEdSw,8692
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/item.css,sha256=O1HR21E9wHtGxCmsqxcEc_65R6Ln3mOvImRwYMQso1g,9753
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/item.min.css,sha256=JRycvfshgviiiwTeAKUj0iPOov4-Uwaue3fTqaY_e5s,5985
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/label.css,sha256=9tLlAtf1Y3NSngCdO1DZ5YcRW_bu2dUKYUAXHPXm2hQ,28382
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/label.min.css,sha256=lzompqItwR2t_PJowmd07tg8QUPAb6yj58N9TwuNS6I,20005
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/list.css,sha256=CI9lvTBhVzN64aRNjJIwhG6bhKydfIbk_RdYQiaAYwE,22486
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/list.min.css,sha256=uXVJMLBcGUe7MZETm-CQO5LMhIbTFxajYZRBFTCTftY,16094
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/loader.css,sha256=Yz3gBB1JS-86XzSzztcNLE24ViO7UnP15A4M4hrFZUY,7128
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/loader.min.css,sha256=XtALKS7EZswkHXCCOthbxsuu36_tpZbqh-LMT1gaRAg,4702
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/menu.css,sha256=aOYMc10qx8D7fVQ7R83XXUkbrrFExpWkWc6ZnECfOJ4,45279
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/menu.min.css,sha256=cRSLOaiPiyfTQ4B4HT1OCF_2CWNzGcPO9Nns6Jrf4hg,31506
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/message.css,sha256=baLR2EbwIWTGTSvNc9qb2FmcWBeZHM3W0kBNvEdxZZU,12466
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/message.min.css,sha256=_plszMa027XkVjjehCTWxgIAftsTT1alP5I6EYfoVMI,8354
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/modal.css,sha256=86mR_k66q9mOP7jwLV6J4iRW1a06eSyQ6tcoZpUlHf8,12800
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/modal.js,sha256=ACX5Za25KIugyXD7eFndkqa18n7LHjZrBkWSpLs8uqQ,33442
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/modal.min.css,sha256=2GGe09HtCS6k__kprnoTwPMNu2CFCjEpaLQ2NBMLua8,8012
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/modal.min.js,sha256=8POmd6680Gev-MdgKbVOHP-9lm-9WB1AVyuLf2WRcxc,12701
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/nag.css,sha256=3Pz6rq1vWHNvB7UHhGFMPYvrP7VZP_pTM4PlwthnviI,2727
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/nag.js,sha256=KuXGvpOopM0i7syRO2cLSXrJ5I7AjwW3m7JMJLfGuN4,15553
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/nag.min.css,sha256=ohX1Du58QE8pgiBVEzmlhuT2rERTdxY4sasod_53NV4,1483
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/nag.min.js,sha256=UN_1Vcu3C_zxEatS7UZKw1x2blSyihZT2F1cmq7UZOk,5696
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/placeholder.css,sha256=ihZF0mK6texbUk_qWnqHqoZ0scXyDhHy-tr77Wougwg,5938
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/placeholder.min.css,sha256=UIFHVCJ1agMPhpUv-aqm6GeN3EmqUv5vClMm_5LEpuM,4452
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/popup.css,sha256=EitCUPKebavrCN6zwsWGZKfKCNjRJhaEGf6dJlCim7g,17407
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/popup.js,sha256=kzErFmfWsOMKZH-mbyLXQpJo_ajderu7pnq_faA7teM,52273
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/popup.min.css,sha256=YlUBHRAaq5FwMcI2g3DQtgcmxmRNG1rEZaGK2LCgVZ0,12032
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/popup.min.js,sha256=VvJYDjsOSD6VaYYZhuQYiPOpBbpRnmaddxVd6shZ9mU,18630
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/progress.css,sha256=p2R5CYj1cVgj0mT7XTBcKKky02140m4A-PumSFirAqc,10669
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/progress.js,sha256=uAQsAqW_DWnH0hK5dC0MVBBwuDyyu8UNolLxO0OSCfs,31204
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/progress.min.css,sha256=JtEqDPto1ZJiE-6k_WoZnzlhFUgwLJqH6VowDWGRez4,7422
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/progress.min.js,sha256=B676J_Jywi6IJ9e_E62nmk7Gn9KDkRQc7RfcIBKPQcI,12331
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/rail.css,sha256=XUZeNKRfoqs2bRnKz49lJU8ufQ625eFrtL7IxXLzBD0,2646
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/rail.min.css,sha256=4rrNcI5NVX845Bc9aBTWjwjg7tnakWuMHl8zWK-ucmE,1453
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/rating.css,sha256=E_jbykfZK88UZ6kKhL0T8mqn29mzefpwNzCDZEkIyKE,20696
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/rating.js,sha256=rxHeOv-TB5-ViM9hOfODUZMGqWUMNyPvIVIov306LuQ,14869
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/rating.min.css,sha256=4coaKkBwUtNfJL53qHC_TzTE7BmLMuVxDu_Z3gGOs7Q,18393
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/rating.min.js,sha256=jprk9qns6QqU1UWGtHMwug9A_ls7tVMV8p2mueJlj74,5354
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/reset.css,sha256=ygW8luaW-MLjYb6fFQYl0HBo4w-P9zwYkVZLpFOMFh0,9123
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/reset.min.css,sha256=Cm0OrnD_mnGgt3DPmGhhNLeNUAfYfQlCX2uCK7TG_o8,2822
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/reveal.css,sha256=33mQj7j0sprB4_0PrBqMJXxyXXFs4eP2rKoraaht8e8,8177
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/reveal.min.css,sha256=cHuyo1zDTWJH9C1f1GPtKHwuTzA_IUSFAfTH3q5yoME,5784
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/search.css,sha256=XN5UApUr9lkI_R-ThVSHhNM3UEMEvl8Z6LAYhFABPKw,10377
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/search.js,sha256=bm3TK1__R62sMnnTL_haoNAZiWbua0IGEgwfdQRpuRo,51211
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/search.min.css,sha256=HONcBrv7-3sDkmJ9Zwh8KYXWyy_fUw_MjDjhNMtU7hU,6891
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/search.min.js,sha256=gkqnhj5TvM_vwvHKAb4zBC7uL6mndcAlK6CEv5iEUwg,17622
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/segment.css,sha256=FERuSI78q9zgv_iWxHnXIbSnJDsgNKaLh8IgThCD9OM,20063
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/segment.min.css,sha256=zLmNnl__Po9TAZWlayMZpH_DpZXhaHXTcSa8KGeRxMs,13763
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/shape.css,sha256=5sbfPkJ2vSJEo7Ht21qKtfupKDnPdYtwpxkszIHwqsY,3865
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/shape.js,sha256=6D_QO1uZyRzcGRxxaCGP4zRTcnHH-rF11XSDj8fsVn0,29873
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/shape.min.css,sha256=7KDwgqAZXncDCzulBQT3C9UcI_kopiPdoSF2NxpJQWE,2521
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/shape.min.js,sha256=Njt3jnaL2VeRaG0rRHt2niY7YXHeD4Z_fj17tN2syLU,10803
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sidebar.css,sha256=pboKxonzco97CJSpXvUG9Bj65PyqdlTlmi8C_XNQcJI,15757
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sidebar.js,sha256=-nippst3RqSK6cFS0b1VQIhhZ7x455Oq5vpvjxdFOhc,34488
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sidebar.min.css,sha256=FxNmgO-xW6HZ8kqkaDpzZG2GGTYYvBIkhHFsPPUx8f8,10726
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sidebar.min.js,sha256=LxCRzL8rRPXulWQPWkMgncUHL0hBU4IHsuNOVzIMi3I,13466
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/site.css,sha256=tpW_cbiDbTbWVk1ECO4bnddYLlytmUgArSW1Jx3x9DU,3918
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/site.js,sha256=-yF4ejA2WwzIujQ1y9b-i6dxpRYCE8lCSU76CQ9hZhw,14604
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/site.min.css,sha256=AYTFsBcTjn7JH9tBf1s3S68Fxr83IHQf5t5FpD0vGcw,2452
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/site.min.js,sha256=f-45BTFplAj5X_I64VjaIAqTulT6dVhF-rHvOG8pZpM,6066
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/state.js,sha256=rdhOQ83U-t08-IE-ZL7qwiJ_2NPtm0E--BfFJVRylSY,21498
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/state.min.js,sha256=sgXcJIgGI3ymppa7VewFhV3g4rnB_D55Yvoo-QX4Whw,7804
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/statistic.css,sha256=zC6fj8Mg8giRj0rcaq1GVcAfmdLfb0QYgBx_B-7bXlE,13221
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/statistic.min.css,sha256=Nbx1qdI_NIb-YBfRIMcmKn-IdY5OmUdd8gNIGgA2TCs,9594
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/step.css,sha256=3dgzVkMcFYJKP_UPk7quva4L7GLD6sln1aroRZlrcw8,23555
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/step.min.css,sha256=hifahh65UcRx9Cux-rpwi5pTJImD83BlfH1qbkiaWCI,19188
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sticky.css,sha256=eOSA5O3_qugssoDgdTovRNvNMe0kEWqQz1yQGJFZCQM,1288
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sticky.js,sha256=kHIMXTF2Wj8DYTaDRRqQ9ZVNUTOjDbBF84Dwm4tFYaM,31814
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sticky.min.css,sha256=SYOFZjW67UWxBsrtAfD4g0Tvf6CnltYw_IN0VemK2hU,607
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/sticky.min.js,sha256=fu91ThJa6qnZoQAGTpxUw5Q1UN7d2Y_KHS0kjoteWCw,11854
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/tab.css,sha256=aX-PA0rhwxK3q6l3A3przKBvFAQ9LkhlDV3mETbQR98,1865
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/tab.js,sha256=xvNcoJnirQ1TJgVMy_8_AARTIveekx3bgoXNLc-FhC0,33771
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/tab.min.css,sha256=vTnhMR4q6W1dLyB3QYdtwRWnl2XLdtFA0I3kSnZH_EY,1075
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/tab.min.js,sha256=MgUTbr8RHTNylv3wIeBmCec-mS1iL9IJW7Y0NahYmrs,11487
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/table.css,sha256=omOnJC5bkklgjC6vJgTYJae-wbp3MSIu-mUM0gc5Q-o,25536
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/table.min.css,sha256=ODiMJS5bcTBrVMu-BtZytuSNpu3wHtILDb8no5BLNhw,18015
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/transition.css,sha256=XMKp0LQFx2Ec2oOjFuAPJik8VrDUgysP4TNOJH3Rzuw,49176
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/transition.js,sha256=sccxnC8Z9hx9lzlJLPYQ9E5FHETVYEVaA1uIQaA7ubU,36076
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/transition.min.css,sha256=cty1gaoozlRlEnqcQir7t93a7sOy2uCLp0c4jyBLWwA,33525
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/transition.min.js,sha256=k30cmb6hiQ_LGKpX2AcllUduUJ0kA4DKKStgUxkGQzM,13010
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/video.css,sha256=R9cpZZmFTZ70NmFVp7XhHOXaoZ3iodK1WlxGrisY7Tw,2346
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/video.js,sha256=Si_eMYc42BiLyyl4ur4u7K17kyw9biw-eAtbidaQH0c,16252
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/video.min.css,sha256=0MWKfR7_d_meresYhKG49N4ikgDL9YKvdj4ffNqhti0,1328
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/video.min.js,sha256=f7uHgbRqRCqHKBJm7CB31wMMnTjYHPmYaLi1D2i9QfI,6090
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/visibility.js,sha256=p_2kDyoT-GlUY_iLWH8RCRtSl-zunZ1oNx3dJwvyKbA,44180
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/visibility.min.js,sha256=Th3QlAMxD5M2RJ9nNOvuxJZCgZIlavx5-51jABKTs2A,16294
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/visit.js,sha256=9DsUmsPzmp3XD1pplmIeV5tNIeqEHMml5hcr3omsBJw,16142
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/components/visit.min.js,sha256=bT8zWI7mcAwX-Fyt67gogo3u_IT7q8uimamY5Vhk3eU,5887
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/package.js,sha256=BHq6qGCSMdDXDGJxZ4zxnKaREbFM2un2VqCkydrBTf0,774
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/package.json,sha256=Sy3ZVA4SxFzecOO88h1IVAnBiuDpRtXiUg6ME_YArI0,524
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/semantic.css,sha256=aje_ma2N_7VT1k2QTOLeqr3SfQ3Cr-7vB05D2-uo-YQ,869203
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/semantic.js,sha256=t-thIOFbQol3-vcB3C7kRbS49jG2_LC5dEp7NLxBpuA,759089
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/semantic.min.css,sha256=f5Dpq5VRrbzn8POovxN9HR3S7LhHQIAiCKYz4PB4ZZA,628934
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/semantic.min.js,sha256=69cT25pJVUmAyniwWMglXlEOEeZYuhmD8Hbj58gCS7Y,275740
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/brand-icons.eot,sha256=0CPFX94iBJXxOoe3KZXg35jI0ok1dymdGZ2lu_W0_gI,98640
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/brand-icons.svg,sha256=IcTTApw6luFW48z0iPvWxbD_LpBQYBaIN5LGFInrfpU,508636
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/brand-icons.ttf,sha256=QuNp3Iw3KXO6d6gmti0seiBwUyMT34MqIyiN23aXQVg,98404
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/brand-icons.woff,sha256=n6_Ww-e_wUXbQqkG5fpo_mpvlyIfAT0-gz_DIxuZLEQ,63728
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/brand-icons.woff2,sha256=59TVNAu-V6Adj3mSFC4nY9Q41Xg4kMdnSDBu6_oFamk,54488
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.eot,sha256=i04bhH4iIz1PRn00-u_nvL_rzm-pu77lYMRc2JSGh1E,106004
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.otf,sha256=vcXQufOXvoPohsdLAUHRlUqkOEs1nc5JgpmUxKLh978,93888
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.svg,sha256=GzY2PC_CxigjA7ao5Pm45c8-mD38cSHKeoiagKC-kA4,392355
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.ttf,sha256=y3-B9UL1xBiju7mtP5--eEFR0TsEzsUOzt7GATMko9o,105784
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.woff,sha256=lbakhA-HEeyrQnvCNuuGCY235ceCuvsTnIwwgFql_-E,50524
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/icons.woff2,sha256=Q0RmtZVFqKHKxt2zgZfNxrNZlamMPzgS-4jWGxwwDdM,40148
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/outline-icons.eot,sha256=RTf6BjQO5iwmTp16TYqryrPee9osXMM0AQ9GtoMQb8s,31156
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/outline-icons.svg,sha256=T4_RcS28l2Pa57YNTH3ryg_433tFrdN6pDBt0iGL1zE,107567
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/outline-icons.ttf,sha256=Zxchcur85FY3JeZhBD1duFS4Z2ip6L05dY2-gcR5aTU,30928
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/outline-icons.woff,sha256=S8NZwnBXs-0LrKZtbFNJpdSmBQlvvHh1Bhui2Ro9bQU,14712
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/outline-icons.woff2,sha256=TSiDRDsk5CRSf2oKeqKJez33HyOdtANzxP92DkgUeAE,12240
|
||||
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/images/flags.png,sha256=lNXH8WYTAcSm3Ekdct1VmgYgzZF6gm8N8bAju5bqnd0,28123
|
||||
pyOpenRPA/Resources/Web/jQuery/jquery-3.1.1.min.js,sha256=HPMOWdIdSuVgr3FD9ZE-_MgiK8qk_MdQjrgCtfqp6U4,86713
|
||||
pyOpenRPA/Resources/Web/pyOpenRPA_logo.png,sha256=7rulXo_C57xJQEaYWmAkChxXb6xbDW2zq-werzVbDbc,4899
|
||||
pyOpenRPA/Robot/Clipboard.py,sha256=q76X8L21zJwcwdoJJNPeCEwAV30xS6ylHP1WwvtxoWI,722
|
||||
pyOpenRPA/Robot/OrchestratorConnector.py,sha256=JUtdiUXCruqUqBD19gJBl9jk_b-tpWWx_v3MfBoKzoQ,20445
|
||||
pyOpenRPA/Robot/README.md,sha256=e2hKh7Tx6DAsX6jY_hBDhguL1L2Wiv6iugDB5otMzIA,2293
|
||||
pyOpenRPA/Robot/SettingsTemplate.py,sha256=Rp5XPeV2I4tCS2uf4Zkqm_ERJ6pZMg4-e5_lMqGJYLk,1453
|
||||
pyOpenRPA/Robot/Test.py,sha256=qXr990nXiFZX5SNv6QN9GLb_U4HZRmJnbZR2qSnwilY,2878
|
||||
pyOpenRPA/Robot/UIDesktop.py,sha256=3I2bllTDvR9d10O2ltkjoKmYw34wkkDAZfPlRpwbj30,77476
|
||||
pyOpenRPA/Robot/Utils/JSONNormalize.py,sha256=aIuVzuZDazhxkCOzoOjfhHVz66mp2FWdfPv5E7KWF5Y,3890
|
||||
pyOpenRPA/Robot/Utils/ProcessBitness.py,sha256=WlKL-DklGaoTnchtapOTM_ydxSB4yOeo9lcG3zr2VME,4524
|
||||
pyOpenRPA/Robot/Utils/ProcessCommunicator.py,sha256=8GfmLnOvAdosmt7YNT86uEV9cjhKippssCX62wOMJwM,8039
|
||||
pyOpenRPA/Robot/Utils/TimerRepeat.py,sha256=_kTct3X9SIEvS3DKM5bGNnjRBVJasmMFZntQaVbPX_E,961
|
||||
pyOpenRPA/Robot/Utils/ValueVerify.py,sha256=ObskxU4fOMoCGw74_nzYt6-a5jjrAckb3sdBLYyhYxY,777
|
||||
pyOpenRPA/Robot/Utils/__init__.py,sha256=pHlSQGRFKmn5RCTHIf-3a2ooA9T2xNOWridckynP7W4,28
|
||||
pyOpenRPA/Robot/Utils/__pycache__/JSONNormalize.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/Utils/__pycache__/ProcessBitness.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/Utils/__pycache__/ProcessCommunicator.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/Utils/__pycache__/TimerRepeat.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/Utils/__pycache__/ValueVerify.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/Utils/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/Window.py,sha256=UJl-sg4RvvJ35aG9jZOzqGVwE15XK7qPHqoOBD13xFk,431
|
||||
pyOpenRPA/Robot/__init__.py,sha256=L-5tPm6evytGWOzlqIq-2oiIhmQnruaxwIstyyaMkVI,253
|
||||
pyOpenRPA/Robot/__main__.py,sha256=l6II8JuXCsnVOcfs6-2jvogKYTVhbfj3Jl2ld3OIP7s,1992
|
||||
pyOpenRPA/Robot/__pycache__/Clipboard.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/OrchestratorConnector.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/SettingsTemplate.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/Test.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/UIDesktop.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/Window.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Robot/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/JSONNormalize.py,sha256=g0Z8G2wojCgTAdZtyRiCfe0_FHSeAi72Va7R7mk27gg,3347
|
||||
pyOpenRPA/Studio/ProcessCommunicator.py,sha256=HD3XASJae31_HV3OznFe8E2MgZFXnwt7YveVN82M8nU,7912
|
||||
pyOpenRPA/Studio/RobotConnector.py,sha256=CYO0dQoqfs44SYD_VZ_TJh3WFu_DXigHBLHj4GJ2Icc,5038
|
||||
pyOpenRPA/Studio/Studio.py,sha256=_BXQjAMHew2fRWloXdqPOmYHX6i6C8ELPsW1TZNvjz4,8618
|
||||
pyOpenRPA/Studio/ValueVerify.py,sha256=ObskxU4fOMoCGw74_nzYt6-a5jjrAckb3sdBLYyhYxY,777
|
||||
pyOpenRPA/Studio/Web/Index.xhtml,sha256=wo3Y5CzWJQYMw9AgNHXynt1yGDLIoihRlt1weFLSuYQ,48240
|
||||
pyOpenRPA/Studio/Web/favicon.ico,sha256=6S8XwSQ_3FXPpaX6zYkf8uUewVXO9bHnrrDHEoWrEgw,112922
|
||||
pyOpenRPA/Studio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA/Studio/__main__.py,sha256=_57Rnq9DKbmmlpGFqIwVrWn_LRcU8jjmMTOny4_zlP8,308
|
||||
pyOpenRPA/Studio/__pycache__/JSONNormalize.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/__pycache__/ProcessCommunicator.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/__pycache__/RobotConnector.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/__pycache__/Studio.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/__pycache__/ValueVerify.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Studio/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotDB/ExcelCom.py,sha256=hp0dvXOEC7Au00ueh7pqxkdixV-PC-km7tCt-wRunYs,343
|
||||
pyOpenRPA/Tools/RobotDB/HowToUse,sha256=TUXPZAFcse-PSlKFM6jcaYuuZZEmXOSSvgeqrbmIDoc,1473
|
||||
pyOpenRPA/Tools/RobotDB/RobotDB.py,sha256=qtGu8PS2atd0L8taCNpk-08Qpxp8Qz1lqwAcBkyLFLM,1655
|
||||
pyOpenRPA/Tools/RobotDB/Server.py,sha256=rjW9Sg-j9P8pFQD66Uih-rke6-f6sCulinwi4_W-3mc,19933
|
||||
pyOpenRPA/Tools/RobotDB/ServerSettings.py,sha256=5p9JwrpKHh68oVHIWazTajB6AOfzeapARbvGcJOFmNc,7406
|
||||
pyOpenRPA/Tools/RobotDB/__init__.py,sha256=qVH8fEPgXk54rmy-ol0PnT8GF5OlGE0a8mExwJ4tFqY,124
|
||||
pyOpenRPA/Tools/RobotDB/__main__.py,sha256=w9sXIF4r_PeWJjHJutTuH8DSYpXxpgcAN0KUOjiJ6PI,140
|
||||
pyOpenRPA/Tools/RobotDB/__pycache__/ExcelCom.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotDB/__pycache__/RobotDB.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotDB/__pycache__/Server.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotDB/__pycache__/ServerSettings.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotDB/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotDB/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotScreenActive/ConsoleStart.bat,sha256=_HNadUKHOYI5y6foG3srh8wjSzhX33xaKNylFtDjOJk,114
|
||||
pyOpenRPA/Tools/RobotScreenActive/Monitor.py,sha256=TV-YisVqa_uGiyJLG9oK4u-5aDjGiFYZFh1dPjOgYc8,492
|
||||
pyOpenRPA/Tools/RobotScreenActive/Screen.py,sha256=VnYcvCVymrD35l2J4ln_tlVn7CilZhxE4Ggw9P-OhIw,606
|
||||
pyOpenRPA/Tools/RobotScreenActive/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA/Tools/RobotScreenActive/__main__.py,sha256=JASxDDVKWUU7DAbDkRrGTrPk-P7LZchTZFh8usp6b4U,593
|
||||
pyOpenRPA/Tools/RobotScreenActive/__pycache__/Monitor.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotScreenActive/__pycache__/Screen.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotScreenActive/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/RobotScreenActive/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/SafeSource/Crypter.py,sha256=VRrE5-oQxQtvMEPHM1lMXp2CKnceNBmIWJnsJoJkaVE,3616
|
||||
pyOpenRPA/Tools/SafeSource/DistrCreate.py,sha256=-_8BTle57LBKVknnB_3af-LghxrRmRGfRNu08CLNIvY,3232
|
||||
pyOpenRPA/Tools/SafeSource/DistrRun.py,sha256=zwUh6Jy-rDAZHV6fcTUMupkukojntFMroHJHMsNQgrE,9637
|
||||
pyOpenRPA/Tools/SafeSource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA/Tools/SafeSource/__main__.py,sha256=g5aYWnuUZoM2jDX2mSIl9tRAJg05tu5VxD2rGJWcACg,649
|
||||
pyOpenRPA/Tools/SafeSource/__pycache__/Crypter.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/SafeSource/__pycache__/DistrCreate.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/SafeSource/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/SafeSource/__pycache__/__main__.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/Terminator.py,sha256=VcjX3gFXiCGu3MMCidhrTNsmC9wsAqfjRJdTSU9fLnU,2178
|
||||
pyOpenRPA/Tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pyOpenRPA/Tools/__pycache__/Terminator.cpython-37.pyc,,
|
||||
pyOpenRPA/Tools/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/__init__.py,sha256=HIl4GtAt0lGzG2lJPyRwIevTFjIX1iwfYYFpPSUlxAc,175
|
||||
pyOpenRPA/__pycache__/__init__.cpython-37.pyc,,
|
||||
pyOpenRPA/test.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@ -1,5 +0,0 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.33.1)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
||||
|
@ -1 +0,0 @@
|
||||
pyOpenRPA
|
@ -1,301 +1,100 @@
|
||||
import datetime
|
||||
import http.client
|
||||
import json
|
||||
import pdb
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
import importlib
|
||||
import psutil
|
||||
#Input arg
|
||||
# [
|
||||
# {
|
||||
# "Type": <RemoteMachineProcessingRun>,
|
||||
# host: <localhost>,
|
||||
# port: <port>,
|
||||
# bodyObject: <object dict, int, str, list>
|
||||
# },
|
||||
# {
|
||||
# "Type": "CMDStart",
|
||||
# "Command": ""
|
||||
# },
|
||||
# {
|
||||
# "Type": "OrchestratorRestart"
|
||||
# },
|
||||
# {
|
||||
# "Type": "OrchestratorSessionSave"
|
||||
# },
|
||||
# {
|
||||
# "Type": "GlobalDictKeyListValueSet",
|
||||
# "KeyList": ["key1","key2",...],
|
||||
# "Value": <List, Dict, String, int>
|
||||
# },
|
||||
# {
|
||||
# "Type": "GlobalDictKeyListValueAppend",
|
||||
# "KeyList": ["key1","key2",...],
|
||||
# "Value": <List, Dict, String, int>
|
||||
# },
|
||||
# {
|
||||
# "Type": "GlobalDictKeyListValueOperator+",
|
||||
# "KeyList": ["key1","key2",...],
|
||||
# "Value": <List, Dict, String, int>
|
||||
# },
|
||||
# {
|
||||
# "Type": "GlobalDictKeyListValueGet",
|
||||
# "KeyList": ["key1","key2",...]
|
||||
# },
|
||||
# {
|
||||
# "Type":"ProcessStart",
|
||||
# "Path":"",
|
||||
# "ArgList":[]
|
||||
# },
|
||||
# {
|
||||
# "Type":"ProcessStartIfTurnedOff",
|
||||
# "CheckTaskName":"", #Check if current task name is not active (then start process),
|
||||
# "Path":"",
|
||||
# "ArgList":[]
|
||||
# },
|
||||
# {
|
||||
# "Type":"ProcessStop",
|
||||
# "Name":"",
|
||||
# "FlagForce":True,
|
||||
# "User":"" #Empty - all users, user or %username%
|
||||
# },
|
||||
# {
|
||||
# "Type":"PythonStart",
|
||||
# "ModuleName":"",
|
||||
# "FunctionName":"",
|
||||
# "ArgList":[],
|
||||
# "ArgDict":{}
|
||||
# },
|
||||
# {
|
||||
# "Type":"WindowsLogon",
|
||||
# "Domain":"",
|
||||
# "User":"",
|
||||
# "Password":""
|
||||
# # Return "Result": True - user is logged on, False - user is not logged on
|
||||
# }
|
||||
# ]
|
||||
##################################
|
||||
#Output result
|
||||
# <input arg> with attributes:
|
||||
# "DateTimeUTCStringStart"
|
||||
# "DateTimeUTCStringStop"
|
||||
# "Result"
|
||||
gSettingsDict = None
|
||||
def Activity(inActivity):
|
||||
#Глобальная переменная - глобальный словарь унаследованный от Settings.py
|
||||
global gSettingsDict
|
||||
lL = gSettingsDict["Logger"] # Alias for logger
|
||||
#Alias (compatibility)
|
||||
lItem = inActivity
|
||||
lCurrentDateTime = datetime.datetime.now()
|
||||
###########################################################
|
||||
#Обработка запроса на отправку команды на удаленную машину
|
||||
###########################################################
|
||||
if lItem["Type"]=="RemoteMachineProcessingRun":
|
||||
lHTTPConnection = http.client.HTTPConnection(lItem["host"], lItem["port"], timeout=5)
|
||||
try:
|
||||
lHTTPConnection.request("POST","/ProcessingRun",json.dumps(lItem["bodyObject"]))
|
||||
except Exception as e:
|
||||
#Объединение словарей
|
||||
lItem["Result"] = {"State":"disconnected","ExceptionString":str(e)}
|
||||
# 1.2.0 - general processor - contains old orchestrator processor + RDPActive processor
|
||||
import time, copy, threading
|
||||
# Run processor synchronious
|
||||
# inThreadControlDict = {"ThreadExecuteBool":True}
|
||||
def ProcessorRunSync(inGSettings, inRobotRDPThreadControlDict):
|
||||
"""
|
||||
"ProcessorDict": { # Has been changed. New general processor (one threaded) v.1.2.0
|
||||
"ActivityList": [ # List of the activities
|
||||
# {
|
||||
# "Def":"DefAliasTest", # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
|
||||
# "ArgList":[1,2,3], # Args list
|
||||
# "ArgDict":{"ttt":1,"222":2,"dsd":3}, # Args dictionary
|
||||
# "ArgGSettings": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
|
||||
# "ArgLogger": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
|
||||
# },
|
||||
],
|
||||
"AliasDefDict": {}, # Storage for def with Str alias. To use it see pyOpenRPA.Orchestrator.ControlPanel
|
||||
"CheckIntervalSecFloat": 1.0 # Interval for check gSettings in ProcessorDict > ActivityList
|
||||
"ExecuteBool": True # Flag to execute thread processor
|
||||
"""
|
||||
lL = inGSettings["Logger"] # Logger alias
|
||||
inGSettings["ProcessorDict"]["ThreadIdInt"] = threading.get_ident() # fill Processor thread id
|
||||
while inGSettings["ProcessorDict"]["ExecuteBool"]:
|
||||
lActivityList = inGSettings["ProcessorDict"]["ActivityList"] # Alias
|
||||
if len(lActivityList)>0:
|
||||
if lL: lL.debug(f'Processor ActivityList len: {len(lActivityList)}')
|
||||
lActivityItem = inGSettings["ProcessorDict"]["ActivityList"].pop(0) # Extract the first item from processor queue
|
||||
inRobotRDPThreadControlDict["ThreadExecuteBool"]=False # Stop the RobotRDPActive monitoring
|
||||
ActivityListExecute(inGSettings = inGSettings, inActivityList = [lActivityItem]) # execute the activity item
|
||||
inRobotRDPThreadControlDict["ThreadExecuteBool"] = True # Continue the RobotRDPActive monitoring
|
||||
else:
|
||||
lHTTPResponse=lHTTPConnection.getresponse()
|
||||
lHTTPResponseByteArray=lHTTPResponse.read()
|
||||
lItem["Result"] = json.loads(lHTTPResponseByteArray.decode('utf8'))
|
||||
###########################################################
|
||||
#Обработка команды CMDStart
|
||||
###########################################################
|
||||
if lItem["Type"]=="CMDStart":
|
||||
lCMDCode="cmd /c "+lItem["Command"]
|
||||
subprocess.Popen(lCMDCode)
|
||||
lResultCMDRun=1#os.system(lCMDCode)
|
||||
lItem["Result"] = str(lResultCMDRun)
|
||||
###########################################################
|
||||
#Обработка команды OrchestratorRestart
|
||||
###########################################################
|
||||
if lItem["Type"]=="OrchestratorRestart":
|
||||
# Dump RDP List in file json
|
||||
lFile = open("_SessionLast_RDPList.json", "w", encoding="utf-8")
|
||||
lFile.write(json.dumps(gSettingsDict["RobotRDPActive"]["RDPList"])) # dump json to file
|
||||
lFile.close() # Close the file
|
||||
if lL: lL.info(f"Orchestrator has dump the RDP list before the restart. The RDP List is {gSettingsDict['RobotRDPActive']['RDPList']}. Do restart")
|
||||
# Restart session
|
||||
os.execl(sys.executable, os.path.abspath(__file__), *sys.argv)
|
||||
lItem["Result"] = True
|
||||
sys.exit(0)
|
||||
###########################################################
|
||||
# Обработка команды OrchestratorSessionSave
|
||||
###########################################################
|
||||
if lItem["Type"] == "OrchestratorSessionSave":
|
||||
# Dump RDP List in file json
|
||||
lFile = open("_SessionLast_RDPList.json", "w", encoding="utf-8")
|
||||
lFile.write(json.dumps(gSettingsDict["RobotRDPActive"]["RDPList"])) # dump json to file
|
||||
lFile.close() # Close the file
|
||||
if lL: lL.info(
|
||||
f"Orchestrator has dump the RDP list before the restart. The RDP List is {gSettingsDict['RobotRDPActive']['RDPList']}")
|
||||
lItem["Result"] = True
|
||||
###########################################################
|
||||
#Обработка команды GlobalDictKeyListValueSet
|
||||
###########################################################
|
||||
if lItem["Type"]=="GlobalDictKeyListValueSet":
|
||||
lDict = gSettingsDict
|
||||
for lItem2 in lItem["KeyList"][:-1]:
|
||||
#Check if key - value exists
|
||||
if lItem2 in lDict:
|
||||
pass
|
||||
else:
|
||||
lDict[lItem2]={}
|
||||
lDict=lDict[lItem2]
|
||||
#Set value
|
||||
lDict[lItem["KeyList"][-1]]=lItem["Value"]
|
||||
lItem["Result"] = True
|
||||
###########################################################
|
||||
# Обработка команды GlobalDictKeyListValueAppend
|
||||
###########################################################
|
||||
if lItem["Type"] == "GlobalDictKeyListValueAppend":
|
||||
lDict = gSettingsDict
|
||||
for lItem2 in lItem["KeyList"][:-1]:
|
||||
# Check if key - value exists
|
||||
if lItem2 in lDict:
|
||||
pass
|
||||
else:
|
||||
lDict[lItem2] = {}
|
||||
lDict = lDict[lItem2]
|
||||
# Set value
|
||||
lDict[lItem["KeyList"][-1]].append(lItem["Value"])
|
||||
lItem["Result"] = True
|
||||
###########################################################
|
||||
# Обработка команды GlobalDictKeyListValueOperator+
|
||||
###########################################################
|
||||
if lItem["Type"] == "GlobalDictKeyListValueOperator+":
|
||||
lDict = gSettingsDict
|
||||
for lItem2 in lItem["KeyList"][:-1]:
|
||||
# Check if key - value exists
|
||||
if lItem2 in lDict:
|
||||
pass
|
||||
else:
|
||||
lDict[lItem2] = {}
|
||||
lDict = lDict[lItem2]
|
||||
# Set value
|
||||
lDict[lItem["KeyList"][-1]]+=lItem["Value"]
|
||||
lItem["Result"] = True
|
||||
###########################################################
|
||||
#Обработка команды GlobalDictKeyListValueGet
|
||||
###########################################################
|
||||
if lItem["Type"]=="GlobalDictKeyListValueGet":
|
||||
lDict = gSettingsDict
|
||||
for lItem2 in lItem["KeyList"][:-1]:
|
||||
#Check if key - value exists
|
||||
if lItem2 in lDict:
|
||||
pass
|
||||
else:
|
||||
lDict[lItem2]={}
|
||||
lDict=lDict[lItem2]
|
||||
#Return value
|
||||
lItem["Result"]=lDict.get(lItem["KeyList"][-1],None)
|
||||
#####################################
|
||||
#ProcessStart
|
||||
#####################################
|
||||
if lItem["Type"]=="ProcessStart":
|
||||
#Вид активности - запуск процесса
|
||||
#Запись в массив отработанных активностей
|
||||
#Запустить процесс
|
||||
lItemArgs=[lItem["Path"]]
|
||||
lItemArgs.extend(lItem["ArgList"])
|
||||
subprocess.Popen(lItemArgs,shell=True)
|
||||
#####################################
|
||||
#ProcessStartIfTurnedOff
|
||||
#####################################
|
||||
if lItem["Type"]=="ProcessStartIfTurnedOff":
|
||||
#Check if process running
|
||||
#remove .exe from Taskname if exists
|
||||
lCheckTaskName = lItem["CheckTaskName"]
|
||||
if len(lCheckTaskName)>4:
|
||||
if lCheckTaskName[-4:].upper() != ".EXE":
|
||||
lCheckTaskName = lCheckTaskName+".exe"
|
||||
else:
|
||||
lCheckTaskName = lCheckTaskName+".exe"
|
||||
#Check if process exist
|
||||
if not CheckIfProcessRunning(lCheckTaskName):
|
||||
#Вид активности - запуск процесса
|
||||
#Запись в массив отработанных активностей
|
||||
#Запустить процесс
|
||||
lItemArgs=[lItem["Path"]]
|
||||
lItemArgs.extend(lItem["ArgList"])
|
||||
subprocess.Popen(lItemArgs,shell=True)
|
||||
#################################
|
||||
#ProcessStop
|
||||
#################################
|
||||
if lItem["Type"]=="ProcessStop":
|
||||
#Вид активности - остановка процесса
|
||||
#часовой пояс пока не учитываем
|
||||
#Сформировать команду на завершение
|
||||
lActivityCloseCommand='taskkill /im '+lItem["Name"]
|
||||
#TODO Сделать безопасную обработку,если параметра нет в конфигурации
|
||||
if lItem.get('FlagForce',False):
|
||||
lActivityCloseCommand+=" /F"
|
||||
#Завершить процессы только текущего пользоваиеля
|
||||
if lItem.get('User',"")!="":
|
||||
lActivityCloseCommand+=f' /fi "username eq {lItem["User"]}"'
|
||||
#Завершить процесс
|
||||
os.system(lActivityCloseCommand)
|
||||
#################################
|
||||
#PythonStart
|
||||
#################################
|
||||
if lItem["Type"]=="PythonStart":
|
||||
try:
|
||||
#Подключить модуль для вызова
|
||||
lModule=importlib.import_module(lItem["ModuleName"])
|
||||
#Найти функцию
|
||||
lFunction=getattr(lModule,lItem["FunctionName"])
|
||||
lItem["Result"]=lFunction(*lItem.get("ArgList",[]),**lItem.get("ArgDict",{}))
|
||||
except Exception as e:
|
||||
if lL: lL.exception("Loop activity error: module/function not founded")
|
||||
#################################
|
||||
# Windows logon
|
||||
#################################
|
||||
if lItem["Type"] == "WindowsLogon":
|
||||
import win32security
|
||||
try:
|
||||
hUser = win32security.LogonUser(
|
||||
lItem["User"],
|
||||
lItem["Domain"],
|
||||
lItem["Password"],
|
||||
win32security.LOGON32_LOGON_NETWORK,
|
||||
win32security.LOGON32_PROVIDER_DEFAULT
|
||||
)
|
||||
except win32security.error:
|
||||
lItem["Result"] = False
|
||||
else:
|
||||
lItem["Result"] = True
|
||||
###################################
|
||||
#Вернуть результат
|
||||
return lItem
|
||||
time.sleep(inGSettings["ProcessorDict"]["CheckIntervalSecFloat"]) # Sleep when list is empty
|
||||
|
||||
# Execute ActivityItem list
|
||||
# return the def result
|
||||
def ActivityListExecute(inGSettings, inActivityList):
|
||||
lL = inGSettings["Logger"] # Logger alias
|
||||
lResultList = [] # init the result list
|
||||
try:
|
||||
for lActivityItem in inActivityList: # Iterate throught the activity list
|
||||
if lL: lL.info(f'pyOpenRPA Processor.ActivityListExecute:: Def:{str(lActivityItem["Def"])}. Parameters are not available to see.')
|
||||
lDef = None # Def variable
|
||||
if callable(lActivityItem["Def"]): # CHeck if def is callable
|
||||
lDef = lActivityItem["Def"] # Get the def
|
||||
else: # Is not callable - check alias
|
||||
lDef = inGSettings["ProcessorDict"]["AliasDefDict"].get(lActivityItem["Def"], None) # get def if def key in Alias def storage
|
||||
#gSettings
|
||||
lGSettingsDictKey = lActivityItem.pop("ArgGSettings",None)
|
||||
# # Prepare arg dict - gSettings
|
||||
if type(lGSettingsDictKey) is str and lGSettingsDictKey is not "": # check if gSetting key is in ArgDict 13.02.2021 - Fix when ArgGSettings is ""
|
||||
lActivityItem["ArgDict"][lGSettingsDictKey] = inGSettings # Set the gSettings in dict
|
||||
# # Prepare arg list
|
||||
elif type(lGSettingsDictKey) is int: # check if gSetting key is in ArgDict
|
||||
lActivityItem["ArgList"].insert(lGSettingsDictKey,inGSettings)# Set the gSettings in list by the index
|
||||
#Logger
|
||||
lLoggerDictKey = lActivityItem.pop("ArgLogger",None)
|
||||
# # Prepare arg dict - Logger
|
||||
if type(lLoggerDictKey) is str and lLoggerDictKey is not "": # check if gSetting key is in ArgDict 13.02.2021 - Fix when ArgLogger is ""
|
||||
lActivityItem["ArgDict"][lLoggerDictKey] = lL # Set the lLogger in dict
|
||||
# # Prepare arg list
|
||||
elif type(lLoggerDictKey) is int: # check if gSetting key is in ArgDict
|
||||
lActivityItem["ArgList"].insert(lLoggerDictKey,lL)# Set the lLogger in list by the index
|
||||
|
||||
try: # try to run function from Processor.py
|
||||
lActivityItemResult = lDef(*lActivityItem["ArgList"], **lActivityItem["ArgDict"])
|
||||
lResultList.append(lActivityItemResult) # return the result
|
||||
except Exception as e:
|
||||
if lL: lL.exception(f"pyOpenRPA Processor.ActivityListExecute: Exception in def execution - activity will be ignored.") # Logging
|
||||
lResultList.append(e) # return the generated exception
|
||||
except Exception as e:
|
||||
if lL: lL.exception(f"pyOpenRPA Processor.ActivityListExecute: Exception when initialisation - All activity list will be ignored.") # Logging
|
||||
return lResultList # return the result list
|
||||
|
||||
def __ActivityListVerify__(inActivityList):
|
||||
"""
|
||||
Verify ActivityList variable - raise exception if input list is not list of dict with structure:
|
||||
# "Def":"DefAliasTest", # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
|
||||
# "ArgList":[1,2,3], # Args list
|
||||
# "ArgDict":{"ttt":1,"222":2,"dsd":3}, # Args dictionary
|
||||
# "ArgGSettings": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
|
||||
# "ArgLogger": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
|
||||
|
||||
def ActivityListOrDict(inActivityListOrDict):
|
||||
#Check arg type (list or dict)
|
||||
if type(inActivityListOrDict)==list:
|
||||
#List activity
|
||||
lResult=[]
|
||||
for lItem in inActivityListOrDict:
|
||||
lResult.append(Activity(lItem))
|
||||
return lResult
|
||||
if type(inActivityListOrDict)==dict:
|
||||
#Dict activity
|
||||
return Activity(inActivityListOrDict)
|
||||
|
||||
def CheckIfProcessRunning(processName):
|
||||
'''
|
||||
Check if there is any running process that contains the given name processName.
|
||||
'''
|
||||
#Iterate over the all the running process
|
||||
for proc in psutil.process_iter():
|
||||
try:
|
||||
# Check if process name contains the given name string.
|
||||
if processName.lower() in proc.name().lower():
|
||||
return True
|
||||
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
|
||||
pass
|
||||
return False;
|
||||
:param inActivityList:
|
||||
:return:
|
||||
"""
|
||||
# CASE LIST
|
||||
if type(inActivityList) is list:
|
||||
for lItem in inActivityList:
|
||||
# CASE LIST item is LIST
|
||||
if type(lItem) is list:
|
||||
raise Exception(f"pyOpenRPA Processor.__ActivityListVerify__: inActivityList has wrong structure! Details: Your ActivityList item is list too. List of the list :(")
|
||||
# CASE Item is not dict
|
||||
if type(lItem) is not dict:
|
||||
raise Exception(f"pyOpenRPA Processor.__ActivityListVerify__: inActivityList has wrong structure! Details: Your ActivityList item is is not dict")
|
||||
# CASE HAS NO "Def"
|
||||
if "Def" not in lItem:
|
||||
raise Exception(f"pyOpenRPA Processor.__ActivityListVerify__: inActivityList has wrong structure! Details: Activity item has no attribute 'Def'")
|
||||
#CASE NOT LIST
|
||||
else:
|
||||
raise Exception(f"pyOpenRPA Processor.__ActivityListVerify__: inActivityList has wrong structure! Details: Your ActivityList is not a list.")
|
@ -1,7 +1,9 @@
|
||||
r"""
|
||||
|
||||
The OpenRPA package (from UnicodeLabs)
|
||||
The pyOpenRPA package (from UnicodeLabs)
|
||||
|
||||
"""
|
||||
from .Web import Basic
|
||||
from .__Orchestrator__ import *
|
||||
__all__ = []
|
||||
__author__ = 'Ivan Maslov <ivan.maslov@unicodelabs.ru>'
|
@ -1,4 +1,5 @@
|
||||
import sys
|
||||
lFolderPath = "\\".join(__file__.split("\\")[:-3])
|
||||
sys.path.insert(0, lFolderPath)
|
||||
from pyOpenRPA.Orchestrator import Orchestrator
|
||||
from pyOpenRPA.Orchestrator import __Orchestrator__
|
||||
__Orchestrator__.__deprecated_orchestrator_start__() # Backward compatibility below the v1.2.0. Will be deprecated in 1.3.0
|
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue