소스 검색

v2.3.2a - Cleans temp files after upgrade; simplify upgrading a bit with some new functions

master
부모
커밋
30e800e05f
1개의 변경된 파일77개의 추가작업 그리고 37개의 파일을 삭제
  1. +77
    -37
      pdfScale.sh

+ 77
- 37
pdfScale.sh 파일 보기

@@ -5,14 +5,14 @@
# Scale PDF to specified percentage of original size. # Scale PDF to specified percentage of original size.
# #
# Gustavo Arnosti Neves - 2016 / 07 / 10 # Gustavo Arnosti Neves - 2016 / 07 / 10
# Latest Version - 2018 / 04 / 01
# Latest Version - 2018 / 04 / 12
# #
# This script: https://github.com/tavinus/pdfScale # This script: https://github.com/tavinus/pdfScale
# Based on: http://ma.juii.net/blog/scale-page-content-of-pdf-files # Based on: http://ma.juii.net/blog/scale-page-content-of-pdf-files
# And: https://gist.github.com/MichaelJCole/86e4968dbfc13256228a # And: https://gist.github.com/MichaelJCole/86e4968dbfc13256228a




VERSION="2.3.1"
VERSION="2.3.2"




###################### EXTERNAL PROGRAMS ####################### ###################### EXTERNAL PROGRAMS #######################
@@ -740,12 +740,41 @@ getUrl() {
fi fi
} }


# Tries to remove temporary files from upgrade
clearUpgrade() {
echo $'\nCleaning up downloaded files from /tmp'
if isFile "$TMP_TARGET"; then
echo -n " Remove $TMP_TARGET > "
rm "$TMP_TARGET" 2>/dev/null && echo "Ok" || echo "Fail"
else
echo " No temporary tarball was found to remove."
fi
if isDir "$TMP_EXTRACTED"; then
echo -n " Remove $TMP_EXTRACTED > "
rm -rf "$TMP_EXTRACTED" 2>/dev/null && echo "Ok" || echo "Fail"
else
echo " No temporary master folder was found to remove."
fi
}

# Exit upgrade with message and status code
# $1 Mensagem (printed if not empty)
# $2 Status (defaults to $EXIT_ERROR)
exitUpgrade() {
isDir "$_cwd" && cd "$_cwd"
isNotEmpty "$1" && echo "$1"
clearUpgrade
isNotEmpty "$2" && exit $2
exit $EXIT_ERROR
}

# Downloads current version from github's MASTER branch # Downloads current version from github's MASTER branch
selfUpgrade() { selfUpgrade() {
CURRENT_LOC="$(readlink -f $0)" CURRENT_LOC="$(readlink -f $0)"
local _cwd="$(pwd)"
_cwd="$(pwd)"
local _cur_tstamp="$(date '+%Y%m%d-%H%M%S')"
TMP_DIR='/tmp' TMP_DIR='/tmp'
TMP_TARGET="$TMP_DIR/pdfScale_$RANDOM_$RANDOM.tar.gz"
TMP_TARGET="$TMP_DIR/pdfScale_$_cur_tstamp.tar.gz"
TMP_EXTRACTED="$TMP_DIR/$PROJECT_NAME-$PROJECT_BRANCH" TMP_EXTRACTED="$TMP_DIR/$PROJECT_NAME-$PROJECT_BRANCH"
local _answer="no" local _answer="no"
@@ -761,21 +790,24 @@ selfUpgrade() {
echo $'\n'"Extracting compressed file" echo $'\n'"Extracting compressed file"
cd "$TMP_DIR" cd "$TMP_DIR"
if ! (tar xzf "$TMP_TARGET" 2>/dev/null || gtar xzf "$TMP_TARGET" 2>/dev/null); then if ! (tar xzf "$TMP_TARGET" 2>/dev/null || gtar xzf "$TMP_TARGET" 2>/dev/null); then
cd "$_cwd"
echo "Extraction error."
exit $EXIT_ERROR
exitUpgrade "Extraction error."
#cd "$_cwd"
#echo "Extraction error."
#exit $EXIT_ERROR
fi fi
if ! cd "$TMP_EXTRACTED" 2>/dev/null; then if ! cd "$TMP_EXTRACTED" 2>/dev/null; then
cd "$_cwd"
echo "Error when accessing temporary folder"
echo " > $TMP_EXTRACTED"
exit $EXIT_ERROR
exitUpgrade $'Error when accessing temporary folder\n > '"$TMP_EXTRACTED"
#cd "$_cwd"
#echo "Error when accessing temporary folder"
#echo " > $TMP_EXTRACTED"
#exit $EXIT_ERROR
fi fi
if ! chmod +x pdfScale.sh; then if ! chmod +x pdfScale.sh; then
cd "$_cwd"
echo "Error when setting new pdfScale to executable"
echo " > $TMP_EXTRACTED/pdfScale.sh"
exit $EXIT_ERROR
exitUpgrade $'Error when setting new pdfScale to executable\n > '"$TMP_EXTRACTED/pdfScale.sh"
#cd "$_cwd"
#echo "Error when setting new pdfScale to executable"
#echo " > $TMP_EXTRACTED/pdfScale.sh"
#exit $EXIT_ERROR
fi fi
local newver="$(./pdfScale.sh --version 2>/dev/null)" local newver="$(./pdfScale.sh --version 2>/dev/null)"
local curver="$(printVersion 3 2>/dev/null)" local curver="$(printVersion 3 2>/dev/null)"
@@ -794,9 +826,10 @@ selfUpgrade() {
echo "It is basically a miracle or you have came from the future with this version!" echo "It is basically a miracle or you have came from the future with this version!"
echo "BE CAREFUL NOT TO DELETE THE BETA/ALPHA VERSION WITH THIS UPDATE!" echo "BE CAREFUL NOT TO DELETE THE BETA/ALPHA VERSION WITH THIS UPDATE!"
else else
cd "$_cwd"
echo "An unidentified error has ocurred. Exiting..."
exit $EXIT_ERROR
exitUpgrade "An unidentified error has ocurred. Exiting..."
#cd "$_cwd"
#echo "An unidentified error has ocurred. Exiting..."
#exit $EXIT_ERROR
fi fi
echo $'\n'"Are you sure that you want to replace the current instalation with the downloaded one?" echo $'\n'"Are you sure that you want to replace the current instalation with the downloaded one?"
@@ -806,9 +839,10 @@ selfUpgrade() {
if [[ "$_answer" = "y" || "$_answer" = "yes" ]]; then if [[ "$_answer" = "y" || "$_answer" = "yes" ]]; then
echo "Upgrading..." echo "Upgrading..."
if cp "./pdfScale.sh" "$CURRENT_LOC" 2>/dev/null; then if cp "./pdfScale.sh" "$CURRENT_LOC" 2>/dev/null; then
cd "$_cwd"
echo $'\n'"Success! Upgrade finished!"$'\n'" > $CURRENT_LOC"
exit $EXIT_SUCCESS
exitUpgrade $'\n'"Success! Upgrade finished!"$'\n'" > $CURRENT_LOC" $EXIT_SUCCESS
#cd "$_cwd"
#echo $'\n'"Success! Upgrade finished!"$'\n'" > $CURRENT_LOC"
#exit $EXIT_SUCCESS
else else
_answer="no" _answer="no"
echo $'\n'"There was an error when copying the new version." echo $'\n'"There was an error when copying the new version."
@@ -818,30 +852,36 @@ selfUpgrade() {
if [[ "$_answer" = "y" || "$_answer" = "yes" ]]; then if [[ "$_answer" = "y" || "$_answer" = "yes" ]]; then
echo "Upgrading with sudo..." echo "Upgrading with sudo..."
if sudo cp "./pdfScale.sh" "$CURRENT_LOC" 2>/dev/null; then if sudo cp "./pdfScale.sh" "$CURRENT_LOC" 2>/dev/null; then
cd "$_cwd"
echo $'\n'"Success! Upgrade finished!"$'\n'" > $CURRENT_LOC"
exit $EXIT_SUCCESS
exitUpgrade $'\n'"Success! Upgrade finished!"$'\n'" > $CURRENT_LOC" $EXIT_SUCCESS
#cd "$_cwd"
#echo $'\n'"Success! Upgrade finished!"$'\n'" > $CURRENT_LOC"
#exit $EXIT_SUCCESS
else else
cd "$_cwd"
echo "There was an error when copying the new version."
exit $EXIT_ERROR
exitUpgrade "There was an error when copying the new version."
#cd "$_cwd"
#echo "There was an error when copying the new version."
#exit $EXIT_ERROR
fi fi
else else
cd "$_cwd"
echo "Exiting..."
exit $EXIT_ERROR
exitUpgrade "Exiting... (cancelled by user)"
#cd "$_cwd"
#echo "Exiting... (cancelled by user)"
#exit $EXIT_ERROR
fi fi


fi fi
cd "$_cwd"
exit $EXIT_ERROR
exitUpgrade "An unidentified error has ocurred. Exiting..."
#cd "$_cwd"
#exit $EXIT_ERROR
else else
cd "$_cwd"
echo "Exiting..."
exit $EXIT_ERROR
exitUpgrade "Exiting... (cancelled by user)"
#cd "$_cwd"
#echo "Exiting..."
#exit $EXIT_ERROR
fi fi
cd "$_cwd"
exit $EXIT_ERROR
exitUpgrade "An unidentified error has ocurred. Exiting..."
#cd "$_cwd"
#exit $EXIT_ERROR
} }


# Compares versions with x.x.x format # Compares versions with x.x.x format


불러오는 중...
취소
저장