Skip to content

Commit 45ab63c

Browse files
committed
v12.01 release
1 parent 18e2e57 commit 45ab63c

15 files changed

Lines changed: 108 additions & 141 deletions

.gitignore

Lines changed: 13 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,15 @@
1-
# Byte-compiled / optimized / DLL files
2-
__pycache__/
3-
*.py[cod]
4-
*$py.class
5-
6-
# C extensions
7-
*.so
8-
9-
# Distribution / packaging
10-
.Python
11-
env/
1+
.idea/
2+
Crossplatform/__pycache__/
3+
Install_Zeuz_Node_Logs.log
4+
TestNode_Android_Logs.log
5+
TestNode_Core_Logs.log
6+
TestNode_PerformanceTest_Logs.log
7+
Windows/__pycache__/
8+
Zeuz_Node/Install_Zeuz_Node.py.bak
9+
Zeuz_Node/__pycache__/
1210
build/
13-
develop-eggs/
1411
dist/
15-
downloads/
16-
eggs/
17-
.eggs/
18-
lib/
19-
lib64/
20-
parts/
21-
sdist/
22-
var/
23-
*.egg-info/
24-
.installed.cfg
25-
*.egg
26-
27-
# PyInstaller
28-
# Usually these files are written by a python script from a template
29-
# before PyInstaller builds the exe, so as to inject date/other infos into it.
30-
*.manifest
31-
*.spec
32-
33-
# Installer logs
34-
pip-log.txt
35-
pip-delete-this-directory.txt
36-
37-
# Unit test / coverage reports
38-
htmlcov/
39-
.tox/
40-
.coverage
41-
.coverage.*
42-
.cache
43-
nosetests.xml
44-
coverage.xml
45-
*,cover
46-
.hypothesis/
47-
48-
# Translations
49-
*.mo
50-
*.pot
51-
52-
# Django stuff:
53-
*.log
54-
local_settings.py
55-
56-
# Flask stuff:
57-
instance/
58-
.webassets-cache
59-
60-
# Scrapy stuff:
61-
.scrapy
62-
63-
# Sphinx documentation
64-
docs/_build/
65-
66-
# PyBuilder
67-
target/
68-
69-
# IPython Notebook
70-
.ipynb_checkpoints
71-
72-
# pyenv
73-
.python-version
74-
75-
# celery beat schedule file
76-
celerybeat-schedule
77-
78-
# dotenv
79-
.env
80-
81-
# virtualenv
82-
venv/
83-
ENV/
84-
85-
# Spyder project settings
86-
.spyderproject
87-
88-
# Rope project settings
89-
.ropeproject
12+
master.zip
13+
Mac/__pycache__/
14+
Linux/__pycache__/
15+
*env/

Linux/TestNode_CoreSetup_Linux.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717

1818
# Libraries and modules to be installed
1919
apt_get_module_list = ["python3-pip", "python3-tk", "python3-setuptools", "libxss1", "libappindicator1",
20-
"libindicator7" , "python3-gi", "curl","python3-pyaudio"]
20+
"libindicator7" , "python3-gi", "curl","python3-pyaudio", "unixodbc", "unixodbc-dev"]
2121
pip_module_list = ["pip", "psutil", "pillow", "pyserial", "python-dateutil", "numpy", "urllib3", "selenium",
22-
"uiautomator", "requests", "wheel","colorama",
22+
"uiautomator", "requests", "wheel","colorama", "pyodbc",
2323
"pyautogui", "Appium-Python-Client", "lxml", "pyscreenshot", "futures", "image",
24-
"tzlocal", "pyautocad", "PyPDF2",
24+
"tzlocal", "pyautocad", "PyPDF2", "webdrivermanager",
2525
"pyshortcuts", "datefinder", "regex","pyttsx3"]
2626

2727
# Commands that help with installation

Mac/TestNode_AndroidSetup_Mac.py

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88

99
install_str = "pip3 install -U"
1010

11-
12-
1311
# Installation function
1412
def install(type = "", module_name = "", module_version = None, cmd = ""):
1513
command = ""
@@ -26,33 +24,44 @@ def install(type = "", module_name = "", module_version = None, cmd = ""):
2624
print(output)
2725
print((78 * '-'))
2826

29-
def Installer_With_Pip():
30-
# install pip
27+
28+
def basic_installation():
29+
#node
30+
try:
31+
install(cmd="brew install node")
32+
except:
33+
print("Unable to install node")
34+
35+
# Install java
3136
try:
32-
install(cmd="sudo easy_install pip")
37+
install(cmd="brew cask install adoptopenjdk")
3338
except:
34-
print("Unable to install pip")
35-
39+
print("Unable to install adoptopenjdk (Java)")
3640

37-
def basic_installation():
38-
#brew
41+
# Set JAVA_HOME variable
3942
try:
40-
install(cmd='/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"')
43+
print("Setting JAVA_HOME for Bash (~/.bashrc)")
44+
output = os.system('echo "export JAVA_HOME=`/usr/libexec/java_home`" >> ~/.bashrc')
45+
print(output)
46+
47+
print("Setting JAVA_HOME for ZSH (~/.zshrc)")
48+
output = os.system('echo "export JAVA_HOME=`/usr/libexec/java_home`" >> ~/.zshrc')
49+
print(output)
4150
except:
42-
print("Unable to install brew")
43-
44-
#node
51+
print("Unable to set JAVA_HOME variable. You may not be able to run Android automation if this is not set properly")
52+
53+
# ADB for android
4554
try:
46-
install(cmd="brew install node")
55+
install(cmd="brew cask install android-platform-tools")
4756
except:
48-
print("Unable to install node")
49-
50-
#appium
57+
print("Unable to install adb. Zeuz Node will be unable to detect devices if adb is not working.")
58+
5159
try:
5260
install(cmd="npm install -g appium@1.4.16")
5361
except:
5462
print("Unable to install appium")
5563

64+
5665
class Logger(object):
5766
def __init__(self):
5867
self.terminal = sys.stdout
@@ -65,20 +74,14 @@ def write(self, message):
6574
def close(self):
6675
self.log.close()
6776

77+
6878
def main():
6979
sys.stdout = Logger()
7080

71-
## Install PIP
72-
print((78 * '-'))
73-
print ('Python PIP Installation')
74-
print((78 * '-'))
75-
76-
## Install PIP modules
77-
# Installer_With_Pip()
78-
7981
basic_installation()
8082

8183
sys.stdout.close()
8284

8385
if __name__=="__main__":
8486
main()
87+

Mac/TestNode_CoreSetup_Mac.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,13 @@
2020
brew_str = "/usr/local/bin/brew install"
2121

2222
pip_module_list = ["pip", "psutil", "pillow", "pyserial", "colorama", "numpy", "simplejson", "urllib3", "selenium",
23-
"python-dateutil",
23+
"python-dateutil", "pyodbc", "webdrivermanager",
2424
"requests", "wheel", "pyautogui", "Appium-Python-Client","uiautomator", "lxml",
25-
"tzlocal","futures","xlwings","image", "tzlocal","pyautocad", "PyPDF2", "pyshortcuts", "datefinder", "regex","pyttsx3","pyaudio"
25+
"tzlocal","futures","xlwings","image", "tzlocal","pyautocad", "PyPDF2", "pyshortcuts", "datefinder", "regex","pyttsx3","pyaudio",
26+
"imutils", "scikit-image", "opencv-python", "opencv-contrib-python",
2627
"https://github.com/AutomationSolutionz/PyGetWindow-0.0.5/archive/master.zip"]
2728
pip_only_mac = ["appscript"]
28-
brew_module_list = ["wget", "wxmac", 'geckodriver',"portaudio"]
29+
brew_module_list = ["wget", "wxmac", "geckodriver", "portaudio"]
2930

3031
def check_if_ran_with_sudo():
3132
global sudo_pass
@@ -44,7 +45,7 @@ def check_if_ran_with_sudo():
4445
command = "echo 'sudo check'"
4546
p = os.system('echo "%s"|sudo -S %s' % (passwd, command)) # Issue: if shell has sudo permissions already, but user starts script without sudo, this will pass with the wrong password, because sudo won't ask for it
4647
if p == 256:
47-
print("You didnt enter the correct sudo password. Chances left: %s"%(max_try-counter-1))
48+
print("You didn't enter the correct sudo password. Chances left: %s"%(max_try-counter-1))
4849
counter = counter+1
4950
else:
5051
print("sudo authentication verified!")
@@ -172,7 +173,7 @@ def Install_Brew():
172173
# brew Need to implement if brew is already implemented
173174
try:
174175
sys.stdout.write("Installing: Brew\n", True)
175-
brew_string = 'echo "%s" | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"' % sudo_pass
176+
brew_string = 'echo "%s" | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"' % sudo_pass
176177
print(os.system(brew_string))
177178
print("Successfully installed brew")
178179
except:

Mac/TestNode_iosSetup_Mac.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
sudo_pass = ''
1212
logfile = "TestNode_iOS_Logs.log"
1313

14+
# Create log file if it doesn't exist already
15+
if not os.path.exists(logfile):
16+
with open(logfile, 'w'): pass
17+
1418
try:
1519
import subprocess # We need commands to do anything, so if it's not installed, use subprocess to install it first
1620
except:

Version.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[Python Setup]
2-
version = 5.3
2+
version = 5.4
33
[Release Date]
4-
date= 2020-03-04
4+
date= 2020-05-24
55
[Release Note]
6-
Note = alexa and google speech to text
6+
Note = Add pyodbc support for database testing

Windows/TestNode_AndroidSetup_Windows.py

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,6 @@ def Get_Home_Dir():
137137
sys.stdout.error("\tAn error occurred. See log for more details: %s\n"%Error_Detail, True)
138138
return False
139139

140-
141-
142-
143-
144-
145140
def Download_File(base_url, file_name,md5=False):
146141
try:
147142

@@ -150,18 +145,13 @@ def Download_File(base_url, file_name,md5=False):
150145

151146
file_url = base_url + file_name
152147
download_path = Get_Home_Dir()+os.sep + 'Downloads' + os.sep + file_name
153-
154-
download_path_complete = CommonUtils.Download_File(file_url, download_path)
155-
156-
157148
'''
158149
some times files gets corrpt and we need to re-download
159150
if os.path.isfile(download_path):
160151
#print "already downloading... skipping download"
161152
sys.stdout.write("already downloading... skipping download", True)
162153
return download_path
163154
'''
164-
'''
165155
r = requests.get(file_url, stream=True)
166156
path = download_path
167157
with open(path, 'wb') as f:
@@ -171,11 +161,8 @@ def Download_File(base_url, file_name,md5=False):
171161
f.write(chunk)
172162
f.flush()
173163
f.close()
174-
175-
'''
176164
sys.stdout.write("Download completed", True)
177-
return download_path_complete
178-
165+
return download_path
179166
except Exception as e:
180167
exc_type, exc_obj, exc_tb = sys.exc_info()
181168
fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]

Windows/TestNode_CoreSetup_Windows.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,9 @@ def Installer_With_Pip():
109109

110110
pip_module_list = ["pip", "clint", "pillow", "setuptools", "pyserial", "numpy", "simplejson", "urllib3",
111111
"selenium", "uiautomator", "requests", "wheel", "pyautogui", "lxml",
112-
"SpeechRecognition","colorama",
112+
"SpeechRecognition","colorama", "pyodbc",
113113
"python-dateutil", "Appium-Python-Client", "futures", "xlwings", "image", "tzlocal", "pyautocad",
114-
"PyPDF2",
114+
"PyPDF2", "webdrivermanager",
115115
"pyshortcuts", "datefinder", "regex","pyttsx3==2.71",
116116
"https://github.com/AutomationSolutionz/InstallerHelperFiles/raw/master/Windows/PyAudio-0.2.11-cp38-cp38-win32.whl",
117117
"https://github.com/AutomationSolutionz/PyGetWindow-0.0.5/archive/master.zip",

ZeuZ_Node_Installer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -371,8 +371,8 @@ def execute(self):
371371
time.sleep(1) # Allow enough time for read_log() to detect the module is finished and exit (prevent concurrent after()'s)
372372
self.module = installer.replace('.py', '') # Create module name from filename
373373
module = importlib.import_module(self.module) # Import module (path set above)
374-
if sys.platform == 'win32': module.main(True) # Execute installer in GUI mode (Permissions already elevated)
375-
else: module.main(self.password.get()) # Execute installer in GUI mode and send root password
374+
if sys.platform == 'win32': module.main() # Execute installer in GUI mode (Permissions already elevated)
375+
else: module.main() # Execute installer in GUI mode and send root password
376376
q.put('----------------------------------------\n%s - End\n----------------------------------------\n\n' % installer)
377377
time.sleep(1) # Allow enough time for read_log() to read off the last log lines
378378

poster3/poster.egg-info/PKG-INFO

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
Metadata-Version: 1.1
2+
Name: poster
3+
Version: 0.8.1
4+
Summary: Streaming HTTP uploads and multipart/form-data encoding
5+
Home-page: http://atlee.ca/software/poster
6+
Author: Chris AtLee
7+
Author-email: chris@atlee.ca
8+
License: MIT
9+
Download-URL: http://atlee.ca/software/poster/dist/0.8.1
10+
Description: The modules in the Python standard library don't provide a way to upload large
11+
files via HTTP without having to load the entire file into memory first.
12+
13+
poster provides support for both streaming POST requests as well as
14+
multipart/form-data encoding of string or file parameters
15+
Keywords: python http post multipart/form-data file upload
16+
Platform: UNKNOWN
17+
Classifier: Intended Audience :: Developers
18+
Classifier: License :: OSI Approved :: MIT License
19+
Classifier: Natural Language :: English
20+
Classifier: Programming Language :: Python
21+
Classifier: Topic :: Internet :: WWW/HTTP
22+
Classifier: Topic :: Software Development :: Libraries :: Python Modules

0 commit comments

Comments
 (0)