diff options
author | ivan <ivan> | 2008-08-02 23:52:37 +0000 |
---|---|---|
committer | ivan <ivan> | 2008-08-02 23:52:37 +0000 |
commit | 1a3a050131502579e0a8e9c05eee2355a2e7cc3b (patch) | |
tree | 65f06af88105d68367b0df097ca939413ead3c07 /FS/FS/cdr | |
parent | efc68f41987d007de5e792b88df1c63bf3dedf4c (diff) |
fix 'Can't call method "parse" on an undefined value' error from CDR format refactor
Diffstat (limited to 'FS/FS/cdr')
-rw-r--r-- | FS/FS/cdr/asterisk.pm | 1 | ||||
-rw-r--r-- | FS/FS/cdr/genband.pm | 1 | ||||
-rw-r--r-- | FS/FS/cdr/genband_meetme.pm | 1 | ||||
-rw-r--r-- | FS/FS/cdr/nextone.pm | 1 | ||||
-rw-r--r-- | FS/FS/cdr/openser.pm | 1 | ||||
-rw-r--r-- | FS/FS/cdr/simple.pm | 17 | ||||
-rw-r--r-- | FS/FS/cdr/simple2.pm | 51 | ||||
-rw-r--r-- | FS/FS/cdr/taqua.pm | 1 | ||||
-rw-r--r-- | FS/FS/cdr/unitel.pm | 1 |
9 files changed, 68 insertions, 7 deletions
diff --git a/FS/FS/cdr/asterisk.pm b/FS/FS/cdr/asterisk.pm index c687962..8b29642 100644 --- a/FS/FS/cdr/asterisk.pm +++ b/FS/FS/cdr/asterisk.pm @@ -1,5 +1,6 @@ package FS::cdr::asterisk; +use strict; use vars qw(@ISA %info); use FS::cdr qw(_cdr_date_parser_maker); diff --git a/FS/FS/cdr/genband.pm b/FS/FS/cdr/genband.pm index a509950..298625b 100644 --- a/FS/FS/cdr/genband.pm +++ b/FS/FS/cdr/genband.pm @@ -1,5 +1,6 @@ package FS::cdr::genband; +use strict; use vars qw(@ISA %info); use FS::cdr qw(_cdr_date_parser_maker); diff --git a/FS/FS/cdr/genband_meetme.pm b/FS/FS/cdr/genband_meetme.pm index b4414ab..d87dd8f 100644 --- a/FS/FS/cdr/genband_meetme.pm +++ b/FS/FS/cdr/genband_meetme.pm @@ -1,5 +1,6 @@ package FS::cdr::genband_meetme; +use strict; use vars qw(@ISA %info); use FS::cdr qw(_cdr_date_parser_maker); diff --git a/FS/FS/cdr/nextone.pm b/FS/FS/cdr/nextone.pm index e8ef0d4..0e31456 100644 --- a/FS/FS/cdr/nextone.pm +++ b/FS/FS/cdr/nextone.pm @@ -1,5 +1,6 @@ package FS::cdr::nextone; +use strict; use vars qw(@ISA %info); use FS::cdr qw(_cdr_date_parser_maker); diff --git a/FS/FS/cdr/openser.pm b/FS/FS/cdr/openser.pm index 1c2796e..87fb822 100644 --- a/FS/FS/cdr/openser.pm +++ b/FS/FS/cdr/openser.pm @@ -1,5 +1,6 @@ package FS::cdr::openser; +use strict; use vars qw(@ISA %info); use FS::cdr qw(_cdr_date_parser_maker); diff --git a/FS/FS/cdr/simple.pm b/FS/FS/cdr/simple.pm index ab1e3ea..b923405 100644 --- a/FS/FS/cdr/simple.pm +++ b/FS/FS/cdr/simple.pm @@ -1,7 +1,9 @@ package FS::cdr::simple; -use vars qw(@ISA %info); -use FS::cdr; +use strict; +use vars qw( @ISA %info $tmp_mon $tmp_mday $tmp_year ); +use Time::Local; +use FS::cdr qw(_cdr_min_parser_maker); @ISA = qw(FS::cdr); @@ -37,11 +39,12 @@ use FS::cdr; 'dst', # Duration - sub { my($cdr, $min) = @_; - my $sec = sprintf('%.0f', $min * 60 ); - $cdr->billsec( $sec ); - $cdr->duration( $sec ); - }, + _cdr_min_parser_maker, #( [qw( billsec duration)] ), + #sub { my($cdr, $min) = @_; + # my $sec = sprintf('%.0f', $min * 60 ); + # $cdr->billsec( $sec ); + # $cdr->duration( $sec ); + # }, ], ); diff --git a/FS/FS/cdr/simple2.pm b/FS/FS/cdr/simple2.pm new file mode 100644 index 0000000..a4b5fdb --- /dev/null +++ b/FS/FS/cdr/simple2.pm @@ -0,0 +1,51 @@ +package FS::cdr::simple2; + +use strict; +use vars qw( @ISA %info $tmp_mon $tmp_mday $tmp_year ); +use Time::Local; +use FS::cdr qw(_cdr_min_parser_maker); + +@ISA = qw(FS::cdr); + +%info = ( + 'name' => 'Simple (Prerated)', + 'weight' => 25, + 'header' => 1, + 'import_fields' => [ + sub {}, #TEXT_TIME (redundant w/Time) + sub {}, #Blank + 'src', #Calling. + + #Date (YY/MM/DD) + sub { my($cdr, $date) = @_; + $date =~ /^(\d\d(\d\d)?)\/(\d{1,2})\/(\d{1,2})$/ + or die "unparsable date: $date"; #maybe we shouldn't die... + #$cdr->startdate( timelocal(0, 0, 0 ,$3, $2-1, $1) ); + ($tmp_mday, $tmp_mon, $tmp_year) = ( $3, $2-1, $1 ); + }, + + #Time + sub { my($cdr, $time) = @_; + $time =~ /^(\d{1,2}):(\d{1,2}):(\d{1,2})$/ + or die "unparsable time: $time"; #maybe we shouldn't die... + #$cdr->startdate( timelocal($3, $2, $1 ,$mday, $mon, $year) ); + $cdr->startdate( + timelocal($3, $2, $1 ,$tmp_mday, $tmp_mon, $tmp_year) + ); + }, + + 'dst', #Dest + 'userfield', #? #DestinationDesc + + #Min + _cdr_min_parser_maker, #( [qw( billsec duration)] ), + + sub {}, #Rate XXX do something w/this, informationally??? + 'upstream_price', #Total + + 'accountcode', #ServCode + 'description', #Service_Type + ], +); + + diff --git a/FS/FS/cdr/taqua.pm b/FS/FS/cdr/taqua.pm index 587d97d..bdbac13 100644 --- a/FS/FS/cdr/taqua.pm +++ b/FS/FS/cdr/taqua.pm @@ -1,5 +1,6 @@ package FS::cdr::taqua; +use strict; use vars qw(@ISA %info); use FS::cdr qw(_cdr_date_parser_maker); diff --git a/FS/FS/cdr/unitel.pm b/FS/FS/cdr/unitel.pm index 74d0840..df34a57 100644 --- a/FS/FS/cdr/unitel.pm +++ b/FS/FS/cdr/unitel.pm @@ -1,5 +1,6 @@ package FS::cdr::unitel; +use strict; use vars qw(@ISA %info); use FS::cdr; |