Skip to content

Commit 4015c3c

Browse files
committed
v3.6.130
1 parent ceea30c commit 4015c3c

2 files changed

Lines changed: 20 additions & 11 deletions

File tree

CHANGES.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
v3.6.130
2+
- Bug fix for Samsung SSDs that have 2.5" in their model name.
3+
- Bug fix for not removing leading spaces in drive model names (introduced in v3.6.123).
4+
15
v3.6.129
26
- Bug fix for backing up expansion unit db files (introduced in v3.6.126).
37

syno_hdd_db.sh

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
# /var/packages/StorageManager/target/ui/storage_panel.js
3030

3131

32-
scriptver="v3.6.129"
32+
scriptver="v3.6.130"
3333
script=Synology_HDD_db
3434
repo="007revad/Synology_HDD_db"
3535
scriptname=syno_hdd_db
@@ -1015,13 +1015,13 @@ fixdrivemodel(){
10151015
hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name
10161016

10171017
# Remove any leading spaces
1018-
var=$(echo "$var" | sed -e 's/^[[:space:]]*//')
1018+
hdmodel=$(echo "$hdmodel" | sed -e 's/^[[:space:]]*//')
10191019
elif [[ $1 =~ ^'APPLE HDD '.* ]]; then
10201020
# Old drive brands
10211021
hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name
10221022

10231023
# Remove any leading spaces
1024-
var=$(echo "$var" | sed -e 's/^[[:space:]]*//')
1024+
hdmodel=$(echo "$hdmodel" | sed -e 's/^[[:space:]]*//')
10251025
fi
10261026
}
10271027

@@ -1605,9 +1605,12 @@ editcount(){
16051605

16061606

16071607
editdb7(){
1608+
local hdmodel_sed
1609+
hdmodel_sed="${hdmodel//\"/\\\"}" # escape " for sed/JSON
1610+
hdmodel_sed="${hdmodel_sed//\//\\/}" # escape / for sed
1611+
16081612
if [[ $1 == "append" ]]; then # model not in db file
1609-
#if sed -i "s/}}}/}},\"$hdmodel\":{$fwstrng$default/" "$2"; then # append
1610-
if sed -i "s/}}}/}},\"${hdmodel//\//\\/}\":{$fwstrng$default/" "$2"; then # append
1613+
if sed -i "s/}}}/}},\"${hdmodel_sed}\":{$fwstrng$default/" "$2"; then # append
16111614
if jq -e --arg hdmodel "$hdmodel" --arg fwrev "$fwrev" \
16121615
'.disk_compatbility_info[$hdmodel] | has($fwrev)' "$2" > /dev/null; then
16131616
echo -e "Added ${Yellow}$hdmodel ($fwrev)${Off} to ${Cyan}$(basename -- "$2")${Off}"
@@ -1621,8 +1624,7 @@ editdb7(){
16211624
fi
16221625

16231626
elif [[ $1 == "insert" ]]; then # model and default exists
1624-
#if sed -i "s/\"$hdmodel\":{/\"$hdmodel\":{$fwstrng/" "$2"; then # insert firmware
1625-
if sed -i "s/\"${hdmodel//\//\\/}\":{/\"${hdmodel//\//\\/}\":{$fwstrng/" "$2"; then # insert firmware
1627+
if sed -i "s/\"${hdmodel_sed}\":{/\"${hdmodel_sed}\":{$fwstrng/" "$2"; then # insert firmware
16261628
if jq -e --arg hdmodel "$hdmodel" --arg fwrev "$fwrev" \
16271629
'.disk_compatbility_info[$hdmodel] | has($fwrev)' "$2" > /dev/null; then
16281630
echo -e "Updated ${Yellow}$hdmodel ($fwrev)${Off} in ${Cyan}$(basename -- "$2")${Off}"
@@ -1636,9 +1638,7 @@ editdb7(){
16361638
fi
16371639

16381640
elif [[ $1 == "empty" ]]; then # db file only contains {}
1639-
#if sed -i "s/{}/{\"$hdmodel\":{$fwstrng${default}}/" "$2"; then # empty
1640-
#if sed -i "s/{}/{\"${hdmodel//\//\\/}\":{$fwstrng${default}}/" "$2"; then # empty
1641-
if sed -i "s/{}/{\"${hdmodel//\//\\/}\":{$fwstrng${default}/" "$2"; then # empty
1641+
if sed -i "s/{}/{\"${hdmodel_sed}\":{$fwstrng${default}/" "$2"; then # empty
16421642
if jq -e --arg hdmodel "$hdmodel" --arg fwrev "$fwrev" \
16431643
'.disk_compatbility_info[$hdmodel] | has($fwrev)' "$2" > /dev/null; then
16441644
echo -e "Added ${Yellow}$hdmodel ($fwrev)${Off} to ${Cyan}$(basename -- "$2")${Off}"
@@ -1733,14 +1733,19 @@ updatedb(){
17331733
fi
17341734
elif [[ $dbtype -eq "6" ]]; then
17351735
# db type 6 used up to DSM 7.0.1
1736+
local hdmodel_sed
1737+
hdmodel_sed="${hdmodel//\"/\\\"}" # escape " for sed/JSON
1738+
hdmodel_sed="${hdmodel_sed//\//\\/}" # escape / for sed
1739+
17361740
if grep -q "$hdmodel" "$2"; then
17371741
echo -e "${Yellow}$hdmodel${Off} already exists in ${Cyan}$(basename -- "$2")${Off}" >&2
17381742
else
17391743
# example:
17401744
# {"model":"WD60EFRX-68MYMN1","firmware":"82.00A82","rec_intvl":[1]},
17411745
# Don't need to add firmware version?
17421746
#string="{\"model\":\"${hdmodel}\",\"firmware\":\"${fwrev}\",\"rec_intvl\":\[1\]},"
1743-
string="{\"model\":\"${hdmodel}\",\"firmware\":\"\",\"rec_intvl\":\[1\]},"
1747+
#string="{\"model\":\"${hdmodel}\",\"firmware\":\"\",\"rec_intvl\":\[1\]},"
1748+
string="{\"model\":\"${hdmodel_sed}\",\"firmware\":\"\",\"rec_intvl\":\[1\]},"
17441749
# {"success":1,"list":[
17451750
startstring="{\"success\":1,\"list\":\["
17461751
# example:

0 commit comments

Comments
 (0)