diff options
author | Daniel Friesel <derf@finalrewind.org> | 2011-02-18 22:31:56 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2011-02-18 22:31:56 +0100 |
commit | cd0f94a5f22c0ac26f5ac458812cfd49e828d7ad (patch) | |
tree | 4797dfed3541a1bde381b154a40cbe9156ca9598 /bin/raps2 | |
parent | fa5a6a91dfb4cff3666bbb887a2d7db10af26ef2 (diff) |
Improve XDG functions
Diffstat (limited to 'bin/raps2')
-rwxr-xr-x | bin/raps2 | 44 |
1 files changed, 22 insertions, 22 deletions
@@ -25,8 +25,8 @@ my ($action, @args) = @ARGV; sub cmd_add { my ($name) = @_; - my $init = get_xdg_config_home() . '/init'; - my $store = get_xdg_data_home() . "/${name}"; + my $init = get_xdg_config_file('init'); + my $store = get_xdg_data_file($name); my $pass; if (-e $store) { @@ -68,7 +68,7 @@ sub cmd_add { sub cmd_dump { my ($name) = @_; - my $store = get_xdg_data_home() . "/${name}"; + my $store = get_xdg_data_file($name); my $password; my $cipher; @@ -93,7 +93,7 @@ sub cmd_dump { sub cmd_get { my ($name) = @_; - my $store = get_xdg_data_home() . "/${name}"; + my $store = get_xdg_data_file($name); my $password; my $cipher; @@ -113,7 +113,7 @@ sub cmd_get { sub cmd_info { my ($name) = @_; - my $store = get_xdg_data_home() . "/${name}"; + my $store = get_xdg_data_file($name); if (not -e $store) { die("No such password\n"); @@ -131,8 +131,8 @@ sub cmd_info { } sub create_dot_dirs { - make_path(get_xdg_config_home()); - make_path(get_xdg_data_home()); + make_path(get_xdg_config_file()); + make_path(get_xdg_data_file()); return; } @@ -165,7 +165,7 @@ sub create_pass { sub get_password { my $pass; - my $passfile = get_xdg_config_home() . '/password'; + my $passfile = get_xdg_config_file('password'); if (not -e $passfile) { return create_pass($passfile); @@ -187,26 +187,26 @@ sub get_password { return $pass; } -sub get_xdg_config_home { - my $env = $ENV{'XDG_CONFIG_HOME'}; - my $home = $ENV{'HOME'}; +sub get_xdg_config_file { + my ($file) = @_; + my $env = $ENV{'XDG_CONFIG_HOME'}; + my $home = $ENV{'HOME'}; - if ($env) { - return "${env}/raps2"; - } + $file //= q{}; + $env //= "${home}/.config"; - return "${home}/.config/raps2"; + return "${env}/raps2/${file}"; } -sub get_xdg_data_home { - my $env = $ENV{'XDG_DATA_HOME'}; - my $home = $ENV{'HOME'}; +sub get_xdg_data_file { + my ($file) = @_; + my $env = $ENV{'XDG_DATA_HOME'}; + my $home = $ENV{'HOME'}; - if ($env) { - return "${env}/raps2"; - } + $file //= q{}; + $env //= "${home}/.local/share"; - return "${home}/.local/share/raps2"; + return "${env}/raps2/${file}"; } sub load_state_from { |