our
$VERSION
=
'4.19.0'
;
our
@AS
=
qw(verbose config silent)
;
__PACKAGE__->cgBuildAccessorsScalar(\
@AS
);
__PACKAGE__->cgBuildIndices;
sub
version (
$self
) {
return
"ONYPHE Version: $VERSION"
;
}
sub
init (
$self
,
$file
=
undef
) {
$file
||=
$ENV
{HOME}.
'/.onyphe.ini'
;
if
(! -f
$file
) {
print
STDERR
"ERROR: init file not found: $file\n"
;
return
;
}
my
$read
= read_file(
$file
);
my
$config
= Config::INI::Tiny->new->to_hash(
$read
);
$self
->config(
$config
);
$config
->{
''
}{api_size} ||= 10;
$config
->{
''
}{api_maxpage} ||= 1;
$config
->{
''
}{api_trackquery} ||= 0;
$config
->{
''
}{api_calculated} ||= 0;
$config
->{
''
}{api_keepalive} ||= 0;
$config
->{
''
}{api_ondemand_endpoint} ||=
$config
->{
''
}{api_endpoint};
$config
->{
''
}{api_asd_endpoint} ||=
$config
->{
''
}{api_endpoint};
if
(
$self
->verbose) {
for
my
$k
(
keys
%{
$config
->{
''
}}) {
print
STDERR
"VERBOSE: config: $k => "
.
$config
->{
''
}{
$k
}.
"\n"
;
}
}
unless
(
defined
(
$config
->{
''
}{api_key})) {
print
STDERR
"ERROR: config: needs at least api_url setting:\n"
;
print
STDERR
" api_key = 'XXX'\n"
;
return
;
}
return
$self
;
}
1;