summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIsmael Luceno2016-09-08 00:11:32 -0300
committerIsmael Luceno2016-09-08 00:11:32 -0300
commit8fac51fda3b566617b6a0c31ad9579c7ab38c32b (patch)
tree82d8d835da69903aadc529497f29931283fba145
parente38a64bb03a854657636fff3a57cdd430c17690c (diff)
libdetails: Improve parsing of SPELL_SRC_FILE
Get rid of the SPELL_SANITIZED_FILE_NAME variable, and parse Github-style URLs correctly.
-rwxr-xr-xusr/bin/quill8
-rw-r--r--var/lib/quill/modules/libdetails15
2 files changed, 10 insertions, 13 deletions
diff --git a/usr/bin/quill b/usr/bin/quill
index 7bf5f26..b026d07 100755
--- a/usr/bin/quill
+++ b/usr/bin/quill
@@ -426,16 +426,10 @@ else # no updates, we'll be making a spell
# redo it for QUILL_FETCH_MODE, perhaps it didn't fetch a valid source url
# first time for other modes
- parse_spell_source_file_info
- while [[ -z $SPELL_SANITIZED_FILE_NAME ]]; do
- if [[ -n $SPELL_SRC_FILE ]]; then
- SPELL_SANITIZED_FILE_NAME=$SPELL_SRC_FILE
- break
- fi
+ while ! parse_spell_source_file_info; do
error_msg "Source file couldn't be found. Check that the url is valid and downloadable!\n"
unset SPELL_SRC_URL
query_spell_source_url
- parse_spell_source_file_info
done
show_spell_source_file_info
echo
diff --git a/var/lib/quill/modules/libdetails b/var/lib/quill/modules/libdetails
index dd6ff13..3d483dc 100644
--- a/var/lib/quill/modules/libdetails
+++ b/var/lib/quill/modules/libdetails
@@ -124,21 +124,24 @@ fi
## @Synopsis Assign to SPELL_SRC_FILE the filename and to VERSION the
## @Synopsis version number parsed from source url.
##
-## @Globals SPELL_SRC_FILE SPELL_SANITIZED_FILE_NAME SPELL_VERSION
+## @Globals SPELL_SRC_FILE SPELL_VERSION
#---
function parse_spell_source_file_info(){
- SPELL_SRC_FILE=$(expr "$SPELL_SRC_URL" : '.*/\(.*\)')
- SPELL_SANITIZED_FILE_NAME=$(expr "$SPELL_SRC_FILE" : '\(.*\)[-|_][0-9]')
- SPELL_VERSION=$(expr "$SPELL_SRC_FILE" : "${SPELL_SANITIZED_FILE_NAME}[-|_]\(.*\)\.[t|z|r]")
+ SPELL_SRC_FILE="${SPELL_SRC_URL##*/}"
+ if expr "$SPELL_SRC_FILE" : 'v[0-9]\.' >/dev/null; then
+ SPELL_VERSION=$(expr "$SPELL_SRC_FILE" : 'v\(.*\)\.[rtz]')
+ else
+ SPELL_VERSION=$(expr "$SPELL_SRC_FILE" : ".*[-_]\([0-9].*\)\.[rtz]")
+ fi
+ [[ -n $SPELL_SRC_FILE ]]
}
#---
## @Synopsis Print on screen info gathered from source url.
##
-## @Globals SPELL_SANITIZED_FILE_NAME SPELL_VERSION SPELL_SRC_URL
+## @Globals SPELL_VERSION SPELL_SRC_URL
#---
function show_spell_source_file_info(){
- message "Sanitized filename: ${SPELL_SANITIZED_FILE_NAME}"
message "Version: ${SPELL_VERSION}"
message "URL: ${SPELL_SRC_URL}"
}