2022-10-30 17:26:52 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
2024-04-10 11:10:52 +02:00
|
|
|
# SPDX-FileCopyrightText: 2024 3mdeb <contact@3mdeb.com>
|
|
|
|
|
#
|
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
2022-10-30 17:26:52 +01:00
|
|
|
TMP_RESPONSE="/tmp/webdav_response"
|
|
|
|
|
TMP_LIST="/tmp/cloud_list"
|
|
|
|
|
HW_UUID="$1"
|
|
|
|
|
|
|
|
|
|
### Error checks
|
|
|
|
|
print_error() {
|
2024-04-08 16:19:07 +02:00
|
|
|
echo -e "$RED""$1""$NORMAL"
|
2022-10-30 17:26:52 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_exit() {
|
|
|
|
|
_error_msg="$1"
|
|
|
|
|
print_error "$_error_msg"
|
|
|
|
|
exit 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_check() {
|
|
|
|
|
_error_code=$?
|
|
|
|
|
_error_msg="$1"
|
|
|
|
|
[ "$_error_code" -ne 0 ] && error_exit "$_error_msg : ($_error_code)"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
USER_DETAILS="$CLOUDSEND_LOGS_URL:$CLOUDSEND_PASSWORD"
|
|
|
|
|
CLOUD_REQUEST="X-Requested-With: XMLHttpRequest"
|
|
|
|
|
|
|
|
|
|
tmpURL="https://cloud.3mdeb.com/public.php/webdav/"
|
|
|
|
|
|
2024-12-20 12:31:26 +01:00
|
|
|
curl -L -f -u "$USER_DETAILS" -H "$CLOUD_REQUEST" -X PROPFIND "$tmpURL" -o "$TMP_RESPONSE" 2>>"$ERR_LOG_FILE"
|
2022-10-30 17:26:52 +01:00
|
|
|
error_check "Cannot access list of files on cloud."
|
|
|
|
|
|
|
|
|
|
# parse response
|
|
|
|
|
sed -i 's/\://g' "$TMP_RESPONSE"
|
|
|
|
|
sed -i 's/\?//g' "$TMP_RESPONSE"
|
|
|
|
|
sed -i 's/<dresponse>/&\n&\n<dresponse>/g' "$TMP_RESPONSE"
|
|
|
|
|
sed -i 's#<&/dresponse>#<&/dresponse>&\n#g' "$TMP_RESPONSE"
|
|
|
|
|
|
|
|
|
|
# create line per record
|
2025-04-15 14:48:13 +02:00
|
|
|
grep "public.php/webdav/" "$TMP_RESPONSE" >"$TMP_LIST"
|
2022-10-30 17:26:52 +01:00
|
|
|
# remove xml tags
|
|
|
|
|
sed -i 's#/dhref.*#\/dhref>#' "$TMP_LIST"
|
|
|
|
|
sed -i 's#<*dresponse>##g' "$TMP_LIST"
|
|
|
|
|
sed -i 's#<dhref>##g' "$TMP_LIST"
|
|
|
|
|
sed -i 's#</dhref>##g' "$TMP_LIST"
|
|
|
|
|
sed -i 's#/public.php/webdav/##g' "$TMP_LIST"
|
|
|
|
|
|
|
|
|
|
# get first, oldest HCL report with given UUID in name
|
|
|
|
|
HCL_REPORT_NAME=$(cat $TMP_LIST | grep -m1 $HW_UUID)
|
|
|
|
|
|
|
|
|
|
# download HCL report
|
|
|
|
|
tmpURL="https://cloud.3mdeb.com/public.php/webdav/$HCL_REPORT_NAME"
|
2024-12-20 12:31:26 +01:00
|
|
|
curl -L -f -u "$USER_DETAILS" -H "$CLOUD_REQUEST" -X GET "$tmpURL" -o /$HCL_REPORT_NAME 2>>"$ERR_LOG_FILE"
|
2022-10-30 17:26:52 +01:00
|
|
|
if [ -f /$HCL_REPORT_NAME ]; then
|
|
|
|
|
echo "Report downloaded"
|
|
|
|
|
else
|
|
|
|
|
echo "Report not found!"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|