Browse Source

* improved bin/sde-config-ini to check the file before performing

any action.
	* implemented bin/sde-config-ini -S


git-svn-id: svn://svn.opensde.net/opensde/opensde/trunk@21675 10447126-35f2-4685-b0cf-6dd780d3921f
misl/sde-wrapper
Alejandro Mery 17 years ago
parent
commit
45db833574
1 changed files with 21 additions and 27 deletions
  1. +21
    -27
      bin/sde-config-ini

+ 21
- 27
bin/sde-config-ini

@ -53,15 +53,10 @@ ini_section_raw() {
# USAGE: ini_section_read "file" "section"
#
ini_section_read() {
ini_section_raw "$1" "$2" | sed -e '/^[ \t]*#/d;' -e '/^[ \t]*$/d;' -e 's,",\\",g' -e 's,=\(..*\)$,="\1",'
ini_section_raw "$1" "$2" |
sed -e '/^[ \t]*;/d;' -e '/^[ \t]*$/d;' -e 's,",\\",g' -e 's,=\(..*\)$,="\1",'
}
# list the available sections on a file
# USAGE: ini_section_list "file"
#
ini_section_list() {
sed -n -e 's,^\[\(.*\)\][ \t]*$,\1,p' "$1"
}
# this file has to be sourced only by tools which really want to
# write ini formated files. reading methods are available at libsde.in
@ -136,7 +131,6 @@ ini_write() {
ini_do_set() { echo_abort 1 "Not yet implemented"; }
ini_do_get() { echo_abort 1 "Not yet implemented"; }
ini_do_delete() { echo_abort 1 "Not yet implemented"; }
ini_do_sections() { echo_abort 1 "Not yet implemented"; }
ini_do_keys() { echo_abort 1 "Not yet implemented"; }
shortopts='F:s:g:d:SK:'
@ -150,29 +144,29 @@ fi
# load new arguments list
eval set -- "$options"
if [ $# -le 1 ]; then
ini_usage
fi
[ $# -ge 2 ] || ini_usage
file=
while [ $# -gt 0 ]; do
case "$1" in
-F|--file) shift; file="$1"
if [ ! -r "$file" ]; then
echo_abort 1 "$file: can't read."
fi ;;
-s|--set) shift; ini_do_set "$1"
;;
-g|--get) shift; ini_do_get "$1"
;;
-d|--delete) shift; ini_do_delete "$1"
;;
-S|--sections) ini_do_sections
;;
-K|--keys) shift; ini_do_keys "$1"
;;
--) break; ;;
-F|--file) shift; file="$1" ;;
--) break ;;
*) [ -r "$file" ] || echo_abort 1 "${file:-none}: can't read."
case "$1" in
-s|--set) shift; ini_do_set "$1"
;;
-g|--get) shift; ini_do_get "$1"
;;
-d|--delete) shift; ini_do_delete "$1"
;;
-S|--sections)
sed -n -e 's,^\[\(.*\)\][ \t]*$,\1,p' "$file"
;;
-K|--keys) shift; ini_do_keys "$1"
;;
esac
esac
shift
done

Loading…
Cancel
Save