add option to specify config file with -c

This commit is contained in:
mischa 2023-05-30 13:09:57 +00:00
parent 3a3e2afdb0
commit fc2d48d2bb

View File

@ -27,6 +27,7 @@ GetOptions(
"message=s" => \(my $MESSAGE), "message=s" => \(my $MESSAGE),
"title=s" => \(my $TITLE = "Notification"), "title=s" => \(my $TITLE = "Notification"),
"priority=i" => \(my $PRIORITY = 0), "priority=i" => \(my $PRIORITY = 0),
"config=s" => \(my $CONFIG),
); );
my $USAGE = <<"END_USAGE"; my $USAGE = <<"END_USAGE";
@ -35,10 +36,11 @@ Options:
-m | --message text -m | --message text
-t | --title text (default: Notification) -t | --title text (default: Notification)
-p | --priority [0|1] (default: 0) -p | --priority [0|1] (default: 0)
-c | --config text
END_USAGE END_USAGE
$MESSAGE || die($USAGE); $MESSAGE || die($USAGE);
my @config_files = grep { -e } ('./_pushover.conf', './.pushover.conf', './pushover.conf', "$ENV{'HOME'}/_pushover.conf", "$ENV{'HOME'}/.pushover.conf", "$ENV{'HOME'}/pushover.conf"); my @config_files = $CONFIG || grep { -e } ('./_pushover.conf', './.pushover.conf', './pushover.conf', "$ENV{'HOME'}/_pushover.conf", "$ENV{'HOME'}/.pushover.conf", "$ENV{'HOME'}/pushover.conf");
my $config = Config::Tiny->read($config_files[-1], 'utf8'); my $config = Config::Tiny->read($config_files[-1], 'utf8');
my $TOKEN = $config->{_}->{token} || die("$USAGE\nError: TOKEN not found.\n"); my $TOKEN = $config->{_}->{token} || die("$USAGE\nError: TOKEN not found.\n");
my $USER = $config->{_}->{user} || die("$USAGE\nError: USER not found.\n"); my $USER = $config->{_}->{user} || die("$USAGE\nError: USER not found.\n");