X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpart_export%2Fvoipnow_did.pm;h=514db8dcd531c7371ec1ce8a009672149f50e87b;hp=cd13a44d5943291d593ab495f0ad562f91000c4f;hb=6f0d2394d35b47761f54991895cdf40c4e6bcc16;hpb=e3a2ca0a7ef6e0931283136321ba8c1494b37c19 diff --git a/FS/FS/part_export/voipnow_did.pm b/FS/FS/part_export/voipnow_did.pm index cd13a44d5..514db8dcd 100644 --- a/FS/FS/part_export/voipnow_did.pm +++ b/FS/FS/part_export/voipnow_did.pm @@ -5,7 +5,6 @@ use Tie::IxHash; use FS::Record qw(qsearch qsearchs dbh); use FS::part_export; use FS::areacode; -use XML::Writer; use XML::Simple 'XMLin'; use Net::SSLeay 'post_https'; use Cache::FileCache; @@ -19,6 +18,7 @@ tie my %options, 'Tie::IxHash', 'login' => { label=>'VoipNow client login' }, 'password' => { label=>'VoipNow client password' }, 'country' => { label=>'Country (two-letter code)' }, + 'cache_time' => { label=>'Cache lifetime (seconds)' }, ; %info = ( @@ -38,7 +38,8 @@ sub did_cache { my $self = shift; $CACHE ||= new Cache::FileCache( { 'namespace' => __PACKAGE__, - 'default_expires_in' => 300, + 'default_expires_in' => $self->option('cache_time') || 300, + 'cache_root' => $FS::UID::cache_dir.'/cache'.$FS::UID::datasrc, } ); return $CACHE->get($self->exportnum) || $self->reload_cache; } @@ -259,6 +260,9 @@ sub voipnow_command { my $host = $self->machine; my $path = "/soap2/${endpoint}_agent.php"; + eval "use XML::Writer"; + die $@ if $@; + warn "[$method] constructing request\n" if $DEBUG; my $soap_request; my $writer = XML::Writer->new(