X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=FS%2FFS%2Ftower_sector.pm;h=6ccfe553d423d6ce8ee870cf5b776f826c88b126;hb=fb48167caac4b049e455531b9a3888dcd8b46c2e;hp=9f5c1abbba2db8ce9e23224a893dcecf4948696a;hpb=1d2db1a7412b886a6120ebd527d6632bff27551d;p=freeside.git diff --git a/FS/FS/tower_sector.pm b/FS/FS/tower_sector.pm index 9f5c1abbb..6ccfe553d 100644 --- a/FS/FS/tower_sector.pm +++ b/FS/FS/tower_sector.pm @@ -1,13 +1,16 @@ package FS::tower_sector; -use Class::Load qw(load_class); -use Data::Dumper; - use strict; use base qw( FS::Record ); use FS::Record qw( qsearch qsearchs ); use FS::tower; use FS::svc_broadband; +use Class::Load qw(load_class); +use File::Path qw(make_path); +use Data::Dumper; +use Storable qw(thaw); +use MIME::Base64 qw(decode_base64); + =head1 NAME @@ -270,13 +273,20 @@ PARAMS must include 'sectornum'. sub process_generate_coverage { my $job = shift; my $param = shift; - warn Dumper($param); - $job->update_statustext('0,generating map'); + if (!ref($param)) { + $param = thaw(decode_base64($param)); + } + $job->update_statustext('0,generating map') if $job; my $sectornum = $param->{sectornum}; - my $sector = FS::tower_sector->by_key($sectornum); + my $sector = FS::tower_sector->by_key($sectornum) + or die "sector $sectornum does not exist"; my $tower = $sector->tower; load_class('Map::Splat'); + # since this is still experimental, put it somewhere we can find later + my $workdir = "$FS::UID::cache_dir/cache.$FS::UID::datasrc/" . + "generate_coverage/sector$sectornum-". time; + make_path($workdir); my $splat = Map::Splat->new( lon => $tower->longitude, lat => $tower->latitude, @@ -288,6 +298,7 @@ sub process_generate_coverage { v_width => $sector->v_width, max_loss => $sector->margin, min_loss => $sector->margin - 80, + dir => $workdir, ); $splat->calculate;