From 2624f9f5c4eb101a73a2edc18aef3947e746fed3 Mon Sep 17 00:00:00 2001 From: Robby Workman Date: Mon, 14 Dec 2009 19:29:08 -0600 Subject: Coding style; add DEBUG; more abstraction of dialogs Hopefully this is not shell-agnostic (no bash required). Only a non-null DEBUG value will spam syslog now. Possibly worthless abstraction of dialog messages. --- blueman_open | 89 ++++++++++++++++++++++++++++++------------------------------ 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/blueman_open b/blueman_open index 50d6b43..50f05c3 100644 --- a/blueman_open +++ b/blueman_open @@ -1,4 +1,6 @@ -#!/bin/bash +#!/bin/sh + +DEBUG=${DEBUG:-""} phone_addr=$1 own_name=$(basename $0) @@ -7,32 +9,30 @@ browser=${browser:-"xdg-open"} # Check for kdialog -if which kdialog &>/dev/null; then - messagetype="kdialog2" +if which kdialog 1>/dev/null 2>/dev/null; then + messagetype="kdialog" else messagetype="gtkdialog" fi -# gtkdialog stuff - -function gtkbox1() { +# Abstract some stuff for gtkdialog +gtkbox_passive() { export messagebox=' - + ' } - -function gtkbox2() { +gtkbox_interactive() { export messagebox=' - + @@ -41,101 +41,102 @@ function gtkbox2() { ' } -function gtkmessage() { +gtkmessage() { I=$IFS; IFS="" - for STATEMENT in $(gtkdialog --center --program=messagebox); do + for STATEMENT in $(gtkdialog --center --program=messagebox); do eval $STATEMENT done IFS=$I } +# End gtkdialog abstraction -#mount function - +# mount function mount_phone () { i=0 LIMIT=5 while [ $i -lt $LIMIT ] do - printf "$i " - logger -i -t $own_name "Perform $i try to mount phone $phone_addr to $dir using obexfs" - logger -i -t $own_name "Execute: obexfs -b $phone_addr -B 10 $dir" + [ ! -z $DEBUG ] && logger -i -t $own_name "Perform $i try to mount phone $phone_addr to $dir using obexfs" + [ ! -z $DEBUG ] && logger -i -t $own_name "Execute: obexfs -b $phone_addr -B 10 $dir" out=$(obexfs -b $phone_addr $dir 2>&1) - logger -i -t $own_name "$out" + [ ! -z $DEBUG ] && logger -i -t $own_name "$out" mounts=$(grep $dir /proc/mounts | wc -l) - logger -i -t $own_name "Found $mounts mounted $dir inside /proc/mounts" + [ ! -z $DEBUG ] && logger -i -t $own_name "Found $mounts mounted $dir inside /proc/mounts" if [ $mounts -ne 0 ] ;then progress=99 + MSG_TXT="Successfully mounted $phone_addr to $dir" if [ $messagetype == "kdialog" ]; then - kdialog --passivepopup "Successfully mounted $phone_addr to $dir" 2 - else - gtkbox2 $"Successfully mounted $phone_addr to $dir" + kdialog --passivepopup "$MSG_TXT" 2 + elif [ $messagetype == "gtkdialog" ]; then + gtkbox_interactive $"$MSG_TXT" gtkmessage fi - logger -i -t $own_name "Open $dir with $browser" + [ ! -z $DEBUG ] && logger -i -t $own_name "Open $dir with $browser" out=$($browser $dir 2>&1) - logger -i -t $own_name "$out" + [ ! -z $DEBUG ] && logger -i -t $own_name "$out" exit 0 else - logger -i -t $own_name "Failed to mount $phone_addr to $dir from the $i try" + logger -i -t $own_name "Failed to mount $phone_addr to $dir from try $i " fi sleep 1 ((i += 1)) done if [ $mounts -eq 0 ] ;then + MSG_TXT="Failed to mount $phone_addr to $dir.\nCheck /var/log/messages for errors." if [ $messagetype == "kdialog" ]; then - kdialog --passivepopup "Failed to mount $phone_addr to $dir.\nCheck /var/log/messages for errors." 4 - else - gtkbox2 $"Failed to mount $phone_addr to $dir. Check /var/log/messages for errors." + kdialog --passivepopup "$MSG_TXT" 4 + elif [ $messagetype == "gtkdialog" ]; then + gtkbox_interactive $"$MSG_TXT" gtkmessage fi killall gtkdialog fi } -#unmount function - +# unmount function umount_phone () { mounts=$(grep $dir /proc/mounts | wc -l) if [ $mounts -ne 0 ] ;then - logger -i -t $own_name "Perform umount of $dir if it's already mounted." + [ ! -z $DEBUG ] && logger -i -t $own_name "Perform umount of $dir if it's already mounted." out=$(fusermount -uz $dir 2>&1) - logger -i -t $own_name "$out" + [ ! -z $DEBUG ] && logger -i -t $own_name "$out" mounts=$(cat /proc/mounts |grep $dir|wc -l) if [ $mounts -eq 0 ] ;then - logger -i -t $own_name "Successfully unmounted $dir." + [ ! -z $DEBUG ] && logger -i -t $own_name "Successfully unmounted $dir." else logger -i -t $own_name "$dir is already mounted. Failed to umount $dir.$out. Please perform its umount manually." + MSG_TXT="Failed to umount $dir - check /var/log/messages for errors" if [ $messagetype == "kdialog" ]; then - kdialog --passivepopup "Failed to umount $dir - check /var/log/messages for errors" 4 - else - gtkbox2 $"Failed to umount $dir - check /var/log/messages for errors" + kdialog --passivepopup "$MSG_TXT" 4 + elif [ $messagetype == "gtkdialog" ]; then + gtkbox_interactive $"$MSG_TXT" gtkmessage fi exit fi else - logger -i -t $own_name "$dir is not mounted - no need to perform umount..." + [ ! -z $DEBUG ] && logger -i -t $own_name "$dir is not mounted - no need to perform umount..." fi } -#mkdir function - +# mkdir function create_dir () { progress=1 - logger -i -t $own_name "Create directory $dir to mount the phone by bluetooth..." + [ ! -z $DEBUG ] && logger -i -t $own_name "Create directory $dir to mount the phone by bluetooth..." out=$(mkdir -p $dir 2>&1) - logger -i -t $own_name "$out" + [ ! -z $DEBUG ] && logger -i -t $own_name "$out" } +MSG_TXT="Mount phone is in progress... Please wait..." if [ $messagetype == "kdialog" ]; then - kdialog --passivepopup "Mount phone is in progress... Please wait..." 4 -else - gtkbox1 $"Mount phone is in progress... Please wait..." + kdialog --passivepopup "$MSG_TXT" 4 +elif [ $messagetype == "gtkdialog" ]; then + gtkbox_passive $"$MSG_TXT" gtkmessage& fi -- cgit v1.2.3