From: ISHIKAWA Mutsumi Date: Sat, 26 Jun 2010 14:42:32 +0000 (+0900) Subject: add config dump file X-Git-Url: http://git.osdn.net/view?p=keitairc%2Fkeitairc.git;a=commitdiff_plain;h=2ba00fc74241776dcd516b6551f489cde3337478;ds=sidebyside add config dump file --- diff --git a/doc/manual.html b/doc/manual.html index cb78924..4ac5145 100644 --- a/doc/manual.html +++ b/doc/manual.html @@ -51,6 +51,11 @@ .keitairc が存在するならこれを読み込みます。 ユーザごとの設定はここに記述するとよいでしょう。

+ 次に、ユーザのホーム・ディレクトリ直下にある .keitairc.d ディレクトリの + config.dump が存在するならこれを読み込みます。 + このファイルは keitairc の Web UI から変更を行った設定が保存されています。 + このファイルでの設定は $HOME/.keitairc より優先されることに気をつけてください。 +

次に、keitairc の第一引数が存在するファイル名であった場合、 これを読み込みます。

diff --git a/lib/Keitairc/Config.pm b/lib/Keitairc/Config.pm index 194aee6..60a9582 100644 --- a/lib/Keitairc/Config.pm +++ b/lib/Keitairc/Config.pm @@ -108,6 +108,9 @@ sub new{ if(-r $ENV{HOME} . '/.keitairc'){ $me->file($ENV{HOME} . '/.keitairc'); } + if(-r $ENV{HOME} . '/.keitairc.d/config.dump'){ + $me->file($ENV{HOME} . '/.keitairc.d/config.dump'); + } if(defined $argv[0]){ if(-r $argv[0]){ @@ -232,6 +235,19 @@ sub dump { return $ret; } +sub dump2file { + my $me = shift; + if (! open(FH, '> ' . $ENV{HOME} . '/.keitairc.d/config.dump') ) { + $::log->log_error('can not open config dump file: ' . $ENV{HOME} . '/.keitairc.d/config.dump'); + return 0; + } + + print FH $me->dump; + + close(FH); + return 1; +} + ################################################################ # config params check utility functions ################################################################