Skip to content

Commit

Permalink
added better error checking
Browse files Browse the repository at this point in the history
  • Loading branch information
soraxas committed May 25, 2018
1 parent cb8092a commit 06a010c
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 23 deletions.
46 changes: 36 additions & 10 deletions run.bat
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,44 @@ set VENV_NAME=_echo360venv
set VENV=venv

cd "%~dp0"
:: Check virtual env is installed
%PYTHON% -c "import sys; sys.exit(1 if sys.hexversion<0x03000000 else 0)"
if %ERRORLEVEL%==0 (
:: using python 3
set VENV=venv
) ELSE (
:: using python 2
set VENV=virtualenv
%PYTHON% -m pip install --user %VENV%
)

if not exist %VENV_NAME% (
echo Checking pip is installed
%PYTHON% -m ensurepip --default-pip
echo Creating python virtual environment in "%VENV_NAME%"...
%PYTHON% -m pip install %VENV%
%PYTHON% -m %VENV% %VENV_NAME%
%VENV_NAME%\Scripts\activate
echo Upgrading pip...
%PYTHON% -m pip install --upgrade pip
echo Installing all pip dependency inside virtual environment...
%PYTHON% -m pip install -r requirements.txt
echo Checking pip is installed
%PYTHON% -m ensurepip --default-pip
%PYTHON% -c "import pip"
if NOT %ERRORLEVEL%==0 (
echo pip is still not installed!...
echo Try to install pip with admin prelivage?
pause && EXIT /B 1
)
echo Installing virtual environment module...
%PYTHON% -m pip install %VENV%
if NOT %ERRORLEVEL%==0 ( echo Failed to install virtual environment && pause && EXIT /B 1 )
echo Creating python virtual environment in "%VENV_NAME%"...
%PYTHON% -m %VENV% %VENV_NAME%
if NOT %ERRORLEVEL%==0 ( echo Failed to create virtual environment && pause && EXIT /B 1 )
%VENV_NAME%\Scripts\activate
if NOT %ERRORLEVEL%==0 ( echo Failed to source virtual environment && pause && EXIT /B 1 )
echo Upgrading pip...
%PYTHON% -m pip install --upgrade pip
echo Installing all pip dependency inside virtual environment...
%PYTHON% -m pip install -r requirements.txt
if NOT %ERRORLEVEL%==0 (
echo Something went wrong while installing pip packages
echo Try again later! Removing the virtual environment dir...
rmdir /S/Q %VENV_NAME%
pause && EXIT /B 1
)
)

%VENV_NAME%\Scripts\activate && python echo360.py %*
29 changes: 16 additions & 13 deletions run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,24 @@
PYTHON=python
VENV_NAME=_echo360venv

cd "`dirname \"$0\"`" # go to the script directory
error_exit(){
echo "$1" 1>&2
exit 1
}
error_clean_exit(){
echo Try again later! Removing the virtual environment dir...
[ -e $VENV_NAME ] && rm -r $VENV_NAME
error_exit "$1" 1>&2
}

cd "`dirname \"$0\"`" # go to the script directory
if $PYTHON -c 'import sys; sys.exit(1 if sys.hexversion<0x03000000 else 0)'; then
VENV=venv # using python 3
else
VENV=virtualenv # using python 2
$PYTHON -m pip install --user $VENV >/dev/null 2>&1
$PYTHON -c "import $VENV" || $PYTHON -m pip install --user $VENV >/dev/null 2>&1
fi

# Check if virtual environment had been created
if [ ! -d "$VENV_NAME" ]; then
echo Checking pip is installed
$PYTHON -m ensurepip --default-pip >/dev/null 2>&1
Expand All @@ -23,20 +32,14 @@ if [ ! -d "$VENV_NAME" ]; then
exit 1
fi
echo Creating python virtual environment in "$VENV_NAME/"...
$PYTHON -m $VENV $VENV_NAME
source $VENV_NAME/bin/activate
$PYTHON -m $VENV $VENV_NAME || error_exit "Failed to create virtual environment"
source $VENV_NAME/bin/activate || error_exit "Failed to source virtual environment"
echo Upgrading pip...
$PYTHON -m pip install --upgrade pip
echo Installing all pip dependency inside virtual environment...
$PYTHON -m pip install -r requirements.txt
fi

if [ $? -ne 0 ]; then
echo Something went wrong while installing pip packages
echo Try again later!
exit 1
$PYTHON -m pip install -r requirements.txt || error_clean_exit "Something went wrong while installing pip packages"
fi

source $VENV_NAME/bin/activate
source $VENV_NAME/bin/activate || error_exit "Failed to source virtual environment"

$PYTHON echo360.py "$@"

0 comments on commit 06a010c

Please sign in to comment.