From: Elan Ruusamäe Date: Mon, 5 Jan 2009 15:04:48 +0000 (+0000) Subject: - fix listing registered webapps X-Git-Tag: auto/ac/webapps-0_3_1-1~1 X-Git-Url: http://git.pld-linux.org/?a=commitdiff_plain;h=aa165ce2b18b5dc414b1ec8a8a2ba6d62b43a974;p=packages%2Fwebapps.git - fix listing registered webapps Changed files: webapps.sh -> 1.16 --- diff --git a/webapps.sh b/webapps.sh index 87c61c2..a5492b9 100644 --- a/webapps.sh +++ b/webapps.sh @@ -33,29 +33,19 @@ webapp_list() { done } -# return application list for webserver +# return registered application list for webserver # useful for bash_completion parsing -webapp_applist() { +webapp_apps_registered() { local action="$1" local server=$2 - for app in /etc/webapps/*; do - [ -d $app ] || continue - [ -f $app/$server.conf ] || continue - local appname=${app##*/} - local link=$(webapp_link $appname) - - case "$action" in - *-registered) - [ -f /etc/$server/webapps.d/$link.conf ] && echo $appname - ;; - *-unregistered) - [ -f /etc/$server/webapps.d/$link.conf ] || echo $appname - ;; - *) - echo $appname - ;; - esac + for conf in /etc/$server/webapps.d/*.conf; do + [ -L $conf ] || continue + appname=$(readlink $conf) + appname=${appname#*$webapps/} + appname=${appname%/$server.conf} + [ -f /etc/webapps/$appname/$server.conf ] || continue + echo $appname done } @@ -124,7 +114,17 @@ unregister) list) webapp_list $2 ;; -list-apps|list-apps-registered|list-apps-unregistered) +list-apps) + webapp_list_apps + ;; +list-apps-registered) + if [ "$2" ]; then + webapp_apps_registered $action $2 + else + webapp_list_apps + fi + ;; +list-apps-unregistered) if [ "$2" ]; then webapp_applist $action $2 else