aboutsummaryrefslogtreecommitdiff
path: root/keyringer
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2010-06-20 20:20:16 -0300
committerSilvio Rhatto <rhatto@riseup.net>2010-06-20 20:20:16 -0300
commitcb021c46ddb6616c33fa874a553f555893c8a22b (patch)
tree56d6ed69b759670ba67f1045eb49a8296c7683ae /keyringer
parentc0f1dc8e92c0bb6db735d27c68cc8c17637c6ff6 (diff)
downloadkeyringer-cb021c46ddb6616c33fa874a553f555893c8a22b.tar.gz
keyringer-cb021c46ddb6616c33fa874a553f555893c8a22b.tar.bz2
Adding system of preferences
Diffstat (limited to 'keyringer')
-rwxr-xr-xkeyringer43
1 files changed, 35 insertions, 8 deletions
diff --git a/keyringer b/keyringer
index 2529a85..cbb02a8 100755
--- a/keyringer
+++ b/keyringer
@@ -95,25 +95,50 @@ function keyringer_dispatch {
fi
}
+function keyringer_preferences {
+ COMMAND="$3"
+
+ if [ -z "$COMMAND" ]; then
+ echo "Usage: keyringer <keyring> `basename $0` <command> [arguments]"
+ exit 1
+ fi
+
+ # Create options file if old repository
+ if [ ! -e "$PREFERENCES" ]; then
+ echo "Creating preferences file..."
+ touch $PREFERENCES
+ fi
+
+ if [ "$COMMAND" == "ls" ]; then
+ cat $PREFERENCES
+ elif [ "$COMMAND" == "edit" ]; then
+ $EDITOR $PREFERENCES
+ elif [ "$COMMAND" == "add" ]; then
+ shift 3
+ echo $* >> $PREFERENCES
+ else
+ echo "$BASENAME: No such command $COMMAND"
+ exit 1
+ fi
+}
+
# Config
NAME="keyringer"
-CONFIG="$HOME/.$NAME"
+CONFIG="$HOME/.$NAME/config"
BASENAME="`basename $0`"
KEYRING="$1"
ACTION="$2"
ACTIONS="`dirname $0`/share/$NAME"
+# Export preferences for other scripts
+export PREFERENCES="`dirname $CONFIG`/$KEYRING"
+
# Load functions
LIB="`dirname $0`/lib/$NAME/functions"
source $LIB
-if [ ! -e "$CONFIG" ]; then
- echo "Creating $CONFIG..."
- touch $CONFIG
- chmod 600 $CONFIG
- echo "# Keyringer config file." > $CONFIG
- echo "" >> $CONFIG
-fi
+# Setup main configuration and load preferences
+keyringer_config_load
if [ -z "$ACTION" ]; then
echo "Usage: $BASENAME <keyring> <action> [arguments]"
@@ -122,6 +147,8 @@ fi
if [ "$ACTION" == "init" ]; then
keyringer_init $*
+elif [ "$ACTION" == "preferences" ]; then
+ keyringer_preferences $*
elif keyringer_has_action $ACTION; then
keyringer_dispatch $*
else