diff --git a/lib/default/ufile b/lib/default/ufile index cb065f1..755d24a 100644 --- a/lib/default/ufile +++ b/lib/default/ufile @@ -1,9 +1,5 @@ # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 -# Fichiers externes à inclure. Chacun de ces fichiers peut contenir des -# définitions de fonctions et de la variables RULES -INCLUDES=() - # Règles pour le classement des fichiers. Chaque règle est de la forme # pattern:destdir[:renamef] RULES=() diff --git a/ufile b/ufile index b87b156..9640f61 100755 --- a/ufile +++ b/ufile @@ -1,7 +1,7 @@ #!/bin/bash # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 source "$(dirname "$0")/lib/ulib/ulib" || exit 1 -urequire DEFAULTS +urequire DEFAULTS multiconf function display_help() { uecho "$scriptname: classer des fichiers selon certains règles @@ -126,8 +126,7 @@ parse_args "$@"; set -- "${args[@]}" ## charger toutes les règles -RULES=() -INCLUDES=() +conf_init -a RULES if [ -n "$config" ]; then if [ "$action" != edit ]; then # le fichier doit exister, sauf en mode édition où il sera créé s'il @@ -140,22 +139,11 @@ if [ -n "$config" ]; then else set_defaults ufile fi -array_copy rules RULES -for include in "${INCLUDES[@]}"; do - if [ -f "$include" ]; then - RULES=() - source "$include" - array_extend rules RULES - else - ewarn "$include: fichier introuvable" - fi -done -array_copy RULES rules +conf_load "$HOME/etc/ufile.d/*.conf" ## actions particulières if [ "$action" == list ]; then - echo "# $(echo_seta2 INCLUDES)" array_to_lines RULES exit 0 elif [ "$action" == edit ]; then @@ -180,7 +168,7 @@ else fi [ $# -gt 0 ] || die "Vous devez spécifier des fichiers à classer" -[ ${#RULES[*]} -gt 0 ] || die "Vous devez spécifier des règles pour le classement des fichiers dans ~/etc/default/ufile" +[ ${#RULES[*]} -gt 0 ] || die "Vous devez spécifier des règles pour le classement des fichiers dans ~/etc/default/ufile ou ~/etc/ufile.d/*.conf" # vérifier les règles for rule in "${RULES[@]}"; do