From fa5998745670b4e079aa7e80d351741825708d2e Mon Sep 17 00:00:00 2001 From: Victor Seva Date: Fri, 5 Jul 2013 11:10:31 +0200 Subject: [PATCH] delete_domain.pl: do not try to delete an nonexistent domain. --- delete_domain.pl | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/delete_domain.pl b/delete_domain.pl index 0b20c947..a27a94c0 100755 --- a/delete_domain.pl +++ b/delete_domain.pl @@ -15,6 +15,12 @@ die usage() unless ($#ARGV == 0); sub main { my ($bprov) = @_; + + call_prov_exists( $bprov, 'get_domain', + { + domain => $ARGV[0] + } + ); call_prov( $bprov, 'delete_domain', { domain => $ARGV[0] @@ -23,6 +29,35 @@ sub main { exit; } +sub call_prov_exists { + # scalar, scalar, hash-ref + my ($bprov, $function, $parameter) = @_; + my $result; + + eval { + $result = $bprov->handle_request( $function, + { + authentication => { + type => 'admin', + username => $CONFIG{admin}, + password => $CONFIG{password}, + }, + parameters => $parameter, + }); + }; + + if($@) { + if(ref $@ eq 'SOAP::Fault') { + exit 0 if($@->faultstring =~ 'unknown domain'); + die "Billing\::$function failed: ". $@->faultstring; + } else { + die "Billing\::$function failed: $@"; + } + } + + return $result; +} + sub call_prov { # scalar, scalar, hash-ref my ($bprov, $function, $parameter) = @_;