diff --git a/bash/drive-utils.bash b/bash/drive-utils.bash index 86f8549..dd0f787 100755 --- a/bash/drive-utils.bash +++ b/bash/drive-utils.bash @@ -380,11 +380,11 @@ _full_upload() { ################################################### _share_id() { [[ $# -lt 2 ]] && printf "%s: Missing arguments\n" "${FUNCNAME[0]}" && return 1 - declare id="${1}" share_email="${2}" role="reader" type="${share_email:+user}" - declare type share_post_data share_post_data share_response + declare id="${1}" share_email="${2}" role="reader" + declare type="${share_email:+user}" share_post_data share_post_data share_response "${EXTRA_LOG}" "justify" "Sharing.." "-" 1>&2 - share_post_data="{\"role\":\"${role}\",\"type\":\"${type:-anyone}\"${share_email:+,\\\"emailAddress\\\":\\\"${share_email}\\\"}}" + share_post_data="{\"role\":\"${role}\",\"type\":\"${type:-anyone}\"${share_email:+,\"emailAddress\":\"${share_email}\"}}" share_response="$(_api_request "${CURL_PROGRESS_EXTRA}" \ -X POST \ diff --git a/bash/release/gupload b/bash/release/gupload index a92855c..d7b23ab 100755 --- a/bash/release/gupload +++ b/bash/release/gupload @@ -1279,11 +1279,11 @@ _full_upload() { ################################################### _share_id() { [[ $# -lt 2 ]] && printf "%s: Missing arguments\n" "${FUNCNAME[0]}" && return 1 - declare id="${1}" share_email="${2}" role="reader" type="${share_email:+user}" - declare type share_post_data share_post_data share_response + declare id="${1}" share_email="${2}" role="reader" + declare type="${share_email:+user}" share_post_data share_post_data share_response "${EXTRA_LOG}" "justify" "Sharing.." "-" 1>&2 - share_post_data="{\"role\":\"${role}\",\"type\":\"${type:-anyone}\"${share_email:+,\\\"emailAddress\\\":\\\"${share_email}\\\"}}" + share_post_data="{\"role\":\"${role}\",\"type\":\"${type:-anyone}\"${share_email:+,\"emailAddress\":\"${share_email}\"}}" share_response="$(_api_request "${CURL_PROGRESS_EXTRA}" \ -X POST \ @@ -1595,7 +1595,7 @@ _cleanup_config() { # Success - Set all the variables # Error - Print error message and exit # Reference: -# Email Regex - https://stackoverflow.com/a/57295993 +# Email Regex - https://gist.github.com/guessi/82a73ee7eb2b1216eb9db17bb8d65dd1 ################################################### _setup_arguments() { [[ $# = 0 ]] && printf "%s: Missing arguments\n" "${FUNCNAME[0]}" && return 1 @@ -1696,12 +1696,10 @@ _setup_arguments() { ;; -S | --share) SHARE="_share_id" - EMAIL_REGEX="^([A-Za-z]+[A-Za-z0-9]*\+?((\.|\-|\_)?[A-Za-z]+[A-Za-z0-9]*)*)@(([A-Za-z0-9]+)+((\.|\-|\_)?([A-Za-z0-9]+)+)*)+\.([A-Za-z]{2,})+$" - [[ -n ${1} && ! ${1} = -* ]] && SHARE_EMAIL="${2}" && { - ! [[ ${SHARE_EMAIL} =~ ${EMAIL_REGEX} ]] && printf "\nError: Provided email address for share option is invalid.\n" && exit 1 - shift - } - export SHARE_EMAIL + EMAIL_REGEX="^(([A-Za-z0-9]+((\.|\-|\_|\+)?[A-Za-z0-9]?)*[A-Za-z0-9]+)|[A-Za-z0-9]+)@(([A-Za-z0-9]+)+((\.|\-|\_)?([A-Za-z0-9]+)+)*)+\.([A-Za-z]{2,})+$" + if [[ -n ${2} && ! ${2} = -* && ${2} =~ ${EMAIL_REGEX} ]]; then + SHARE_EMAIL="${2}" && shift && export SHARE_EMAIL + fi ;; --speed) _check_longoptions "${1}" "${2}" diff --git a/bash/upload.bash b/bash/upload.bash index 83aed2b..993af23 100755 --- a/bash/upload.bash +++ b/bash/upload.bash @@ -108,7 +108,7 @@ _cleanup_config() { # Success - Set all the variables # Error - Print error message and exit # Reference: -# Email Regex - https://stackoverflow.com/a/57295993 +# Email Regex - https://gist.github.com/guessi/82a73ee7eb2b1216eb9db17bb8d65dd1 ################################################### _setup_arguments() { [[ $# = 0 ]] && printf "%s: Missing arguments\n" "${FUNCNAME[0]}" && return 1 @@ -209,12 +209,10 @@ _setup_arguments() { ;; -S | --share) SHARE="_share_id" - EMAIL_REGEX="^([A-Za-z]+[A-Za-z0-9]*\+?((\.|\-|\_)?[A-Za-z]+[A-Za-z0-9]*)*)@(([A-Za-z0-9]+)+((\.|\-|\_)?([A-Za-z0-9]+)+)*)+\.([A-Za-z]{2,})+$" - [[ -n ${1} && ! ${1} = -* ]] && SHARE_EMAIL="${2}" && { - ! [[ ${SHARE_EMAIL} =~ ${EMAIL_REGEX} ]] && printf "\nError: Provided email address for share option is invalid.\n" && exit 1 - shift - } - export SHARE_EMAIL + EMAIL_REGEX="^(([A-Za-z0-9]+((\.|\-|\_|\+)?[A-Za-z0-9]?)*[A-Za-z0-9]+)|[A-Za-z0-9]+)@(([A-Za-z0-9]+)+((\.|\-|\_)?([A-Za-z0-9]+)+)*)+\.([A-Za-z]{2,})+$" + if [[ -n ${2} && ! ${2} = -* && ${2} =~ ${EMAIL_REGEX} ]]; then + SHARE_EMAIL="${2}" && shift && export SHARE_EMAIL + fi ;; --speed) _check_longoptions "${1}" "${2}" diff --git a/sh/drive-utils.sh b/sh/drive-utils.sh index e9d9629..e49d378 100755 --- a/sh/drive-utils.sh +++ b/sh/drive-utils.sh @@ -388,7 +388,7 @@ _share_id() { unset post_data_share_id response_share_id "${EXTRA_LOG}" "justify" "Sharing.." "-" 1>&2 - post_data_share_id="{\"role\":\"${role_share_id}\",\"type\":\"${type_share_id:-anyone}\"${share_email_share_id:+,\\\"emailAddress\\\":\\\"${share_email_share_id}\\\"}}" + post_data_share_id="{\"role\":\"${role_share_id}\",\"type\":\"${type_share_id:-anyone}\"${share_email_share_id:+,\"emailAddress\":\"${share_email_share_id}\"}}" response_share_id="$(_api_request "${CURL_PROGRESS_EXTRA}" \ -X POST \ diff --git a/sh/release/gupload b/sh/release/gupload index 74607ff..28ea103 100755 --- a/sh/release/gupload +++ b/sh/release/gupload @@ -1229,7 +1229,7 @@ _share_id() { unset post_data_share_id response_share_id "${EXTRA_LOG}" "justify" "Sharing.." "-" 1>&2 - post_data_share_id="{\"role\":\"${role_share_id}\",\"type\":\"${type_share_id:-anyone}\"${share_email_share_id:+,\\\"emailAddress\\\":\\\"${share_email_share_id}\\\"}}" + post_data_share_id="{\"role\":\"${role_share_id}\",\"type\":\"${type_share_id:-anyone}\"${share_email_share_id:+,\"emailAddress\":\"${share_email_share_id}\"}}" response_share_id="$(_api_request "${CURL_PROGRESS_EXTRA}" \ -X POST \ @@ -1524,7 +1524,7 @@ EOF # Success - Set all the variables # Error - Print error message and exit # Reference: -# Email Regex - https://stackoverflow.com/a/57295993 +# Email Regex - https://gist.github.com/guessi/82a73ee7eb2b1216eb9db17bb8d65dd1 ################################################### _setup_arguments() { [ $# = 0 ] && printf "Missing arguments\n" && return 1 @@ -1627,16 +1627,15 @@ _setup_arguments() { ;; -S | --share) SHARE="_share_id" - EMAIL_REGEX="^([A-Za-z]+[A-Za-z0-9]*\+?((\.|\-|\_)?[A-Za-z]+[A-Za-z0-9]*)*)@(([A-Za-z0-9]+)+((\.|\-|\_)?([A-Za-z0-9]+)+)*)+\.([A-Za-z]{2,})+$" - case "${1}" in + EMAIL_REGEX="^(([A-Za-z0-9]+((\.|\-|\_|\+)?[A-Za-z0-9]?)*[A-Za-z0-9]+)|[A-Za-z0-9]+)@(([A-Za-z0-9]+)+((\.|\-|\_)?([A-Za-z0-9]+)+)*)+\.([A-Za-z]{2,})+$" + case "${2}" in -* | '') : ;; *) - SHARE_EMAIL="${2}" - printf "%s\n" "${SHARE_EMAIL}" | grep -qE "${EMAIL_REGEX}" || printf "\nError: Provided email address for share option is invalid.\n" && exit 1 - shift + if printf "%s\n" "${2}" | grep -qE "${EMAIL_REGEX}"; then + SHARE_EMAIL="${2}" && shift && export SHARE_EMAIL + fi ;; esac - export SHARE_EMAIL ;; --speed) _check_longoptions "${1}" "${2}" diff --git a/sh/upload.sh b/sh/upload.sh index 1ce9033..768a8cc 100755 --- a/sh/upload.sh +++ b/sh/upload.sh @@ -110,7 +110,7 @@ EOF # Success - Set all the variables # Error - Print error message and exit # Reference: -# Email Regex - https://stackoverflow.com/a/57295993 +# Email Regex - https://gist.github.com/guessi/82a73ee7eb2b1216eb9db17bb8d65dd1 ################################################### _setup_arguments() { [ $# = 0 ] && printf "Missing arguments\n" && return 1 @@ -213,16 +213,15 @@ _setup_arguments() { ;; -S | --share) SHARE="_share_id" - EMAIL_REGEX="^([A-Za-z]+[A-Za-z0-9]*\+?((\.|\-|\_)?[A-Za-z]+[A-Za-z0-9]*)*)@(([A-Za-z0-9]+)+((\.|\-|\_)?([A-Za-z0-9]+)+)*)+\.([A-Za-z]{2,})+$" - case "${1}" in + EMAIL_REGEX="^(([A-Za-z0-9]+((\.|\-|\_|\+)?[A-Za-z0-9]?)*[A-Za-z0-9]+)|[A-Za-z0-9]+)@(([A-Za-z0-9]+)+((\.|\-|\_)?([A-Za-z0-9]+)+)*)+\.([A-Za-z]{2,})+$" + case "${2}" in -* | '') : ;; *) - SHARE_EMAIL="${2}" - printf "%s\n" "${SHARE_EMAIL}" | grep -qE "${EMAIL_REGEX}" || printf "\nError: Provided email address for share option is invalid.\n" && exit 1 - shift + if printf "%s\n" "${2}" | grep -qE "${EMAIL_REGEX}"; then + SHARE_EMAIL="${2}" && shift && export SHARE_EMAIL + fi ;; esac - export SHARE_EMAIL ;; --speed) _check_longoptions "${1}" "${2}"