diff --git a/scripts/setup-dcmtk.sh b/scripts/setup-dcmtk.sh index 223d072..1b00093 100755 --- a/scripts/setup-dcmtk.sh +++ b/scripts/setup-dcmtk.sh @@ -95,12 +95,12 @@ trap cleanup EXIT if [[ -n "$ARCHIVE_URL" ]]; then TMP_DIR="$(mktemp -d)" - archive="$TMP_DIR/archive" + archive_name="$(basename "${ARCHIVE_URL%%\?*}")" + [[ -n "$archive_name" && "$archive_name" != "/" ]] || archive_name="archive.tar.gz" + archive="$TMP_DIR/$archive_name" download "$ARCHIVE_URL" "$archive" mkdir -p "$TMP_DIR/extracted" - mv "$archive" "$TMP_DIR/archive$(basename "$ARCHIVE_URL" | sed 's/.*\(\.[^.][^.]*\)$/\1/')" 2>/dev/null || true - archive_path="$(find "$TMP_DIR" -maxdepth 1 -type f | head -n 1)" - extract_archive "$archive_path" "$TMP_DIR/extracted" + extract_archive "$archive" "$TMP_DIR/extracted" SOURCE_DIR="$TMP_DIR/extracted" fi diff --git a/scripts/setup-microdicom.sh b/scripts/setup-microdicom.sh index 93c4d9d..41f7d50 100755 --- a/scripts/setup-microdicom.sh +++ b/scripts/setup-microdicom.sh @@ -91,7 +91,9 @@ trap cleanup EXIT if [[ -n "$ARCHIVE_URL" ]]; then TMP_DIR="$(mktemp -d)" - archive="$TMP_DIR/$(basename "$ARCHIVE_URL")" + archive_name="$(basename "${ARCHIVE_URL%%\?*}")" + [[ -n "$archive_name" && "$archive_name" != "/" ]] || archive_name="microdicom.zip" + archive="$TMP_DIR/$archive_name" download "$ARCHIVE_URL" "$archive" mkdir -p "$TMP_DIR/extracted" extract_archive "$archive" "$TMP_DIR/extracted"