689289bbb8e7321d06f2ab57a03af653d140e9ce
[project/luci.git] / contrib / package / meshwizard / files / usr / bin / meshwizard / functions.sh
1 uci_remove_list_element() {
2 local option="$1"
3 local value="$2"
4 local list="$(uci get $option)"
5 local elem
6
7 uci delete $option
8 for elem in $list; do
9 if [ "$elem" != "$value" ]; then
10 uci add_list $option=$elem
11 fi
12 done
13 }
14
15 # Takes 2 arguments
16 # $1 = text to be displayed in the output for this section
17 # $2 = section (optional)
18 uci_commitverbose() {
19 echo "+ $1"
20 uci changes $2 | while read line; do
21 echo " $line"
22 done
23 uci commit $2
24 }
25
26 set_defaults() {
27 for def in $(env |grep "^$1"); do
28 option=${def/$1/}
29 uci set $2.$option
30 done
31 }
32
33 # 1 argument: section to remove
34 section_cleanup() {
35 uci -q delete $1 && msg_cleanup $1 || msg_cleanup_error $1
36 }
37
38 # 3 arguements: 1=config name 2=oldname 3=newname
39 section_rename() {
40 uci -q rename $1.$2=$3 && msg_rename $1.$2 $1.$3 || msg_rename_error $1.2 $1.$3
41 }
42
43 msg_cleanup() {
44 echo " Cleanup: Removed section $1."
45 }
46
47 msg_cleanup_error() {
48 echo -e " \033[1mWarning:\033[0m Cleanup of $1 failed."
49 }
50
51 msg_missing_value() {
52 echo -e " \033[1mWarning:\033[0m Configuration option for $2 is missing in $1."
53 }
54
55 msg_success() {
56 echo " Finished."
57 }
58
59 msg_error() {
60 echo " \033[1mError: \033[0mThere was a problem."
61 }
62
63 msg_rename() {
64 echo " Renamed unnamed section $1 to $2."
65 }
66
67 msg_rename_error() {
68 echo " \033[1mWarning:\033[0m Could not rename $1 to $2."
69 }