TT#54760 .ama exporter: chown/chmod settings

Change-Id: If93d0e1b38ad035362d397fff3d14e83061ba4e3
(cherry picked from commit f301ad6f9f)
changes/43/27943/1
Rene Krenn 7 years ago
parent 8750c0fd16
commit 819e8763dd

@ -15,6 +15,9 @@ export_cdr_rollover_fsn = 1
use_tempfiles = 1
make_dir = 1
ama_filename_format = %1$sP%3$02d%4$02d%5$02d%6$02d%7$02d%9$02dAMA%10$s
files_owner =
files_group =
files_mask =
ama_max_blocks = 1000
@ -22,5 +25,5 @@ ama_sensor_id = 438716
ama_recording_office_id = 438716
ama_incoming_trunk_group_number = 2999
ama_outgoing_trunk_group_number = 2014
ama_originating_digits_cdr_field = source_user
ama_terminating_digits_cdr_field = destination_user
ama_originating_digits_cdr_field = source_cli
ama_terminating_digits_cdr_field = destination_user_in

@ -16,6 +16,9 @@ export_cdr_rollover_fsn = 1
use_tempfiles = 1
make_dir = 1
ama_filename_format = %1$sdebug/P%3$02d%4$02d%5$02d%6$02d%7$02d%9$02dAMA.debug%10$s
files_owner =
files_group =
files_mask =
ama_max_blocks = 1000
@ -23,5 +26,5 @@ ama_sensor_id = 438716
ama_recording_office_id = 438716
ama_incoming_trunk_group_number = 2999
ama_outgoing_trunk_group_number = 2014
ama_originating_digits_cdr_field = source_user
ama_terminating_digits_cdr_field = destination_user
ama_originating_digits_cdr_field = source_cli
ama_terminating_digits_cdr_field = destination_user_in

@ -12,6 +12,9 @@ use NGCP::BulkProcessor::Projects::Export::Ama::Format::Settings qw(
$tempfile_path
$make_dir
$ama_max_blocks
$files_owner
$files_group
$files_mask
);
use NGCP::BulkProcessor::Projects::Export::Ama::Format::Block qw();
@ -135,7 +138,9 @@ sub get_filesize {
sub _rename {
my $self = shift;
my ($filename) = @_;
return rename($self->{tempfilename},$filename);
$filename = rename($self->{tempfilename},$filename);
_chownmod($filename,$files_owner,$files_group,oct(666),$files_mask);
return $filename;
}
sub _makedir {
@ -147,6 +152,18 @@ sub _makedir {
}
sub _chownmod {
my ($file, $user, $group, $defmode, $mask) = @_;
if ($user || $group) {
my @arg = (-1, -1, $file);
$user and ($arg[0] = (getpwnam($user) || -1));
$group and ($arg[1] = (getgrnam($group) || -1));
chown(@arg);
}
$mask and chmod($defmode & ~oct($mask), $file);
}
sub flush {
my $self = shift;
my %params = @_;

@ -46,6 +46,10 @@ our @EXPORT_OK = qw(
$use_tempfiles
$ama_max_blocks
$files_owner
$files_group
$files_mask
);
our $output_path = $working_path . 'output/';
@ -61,6 +65,10 @@ our $ama_max_blocks = 1000;
our $make_dir = 0;
our $ama_filename_format = '%1$sP%3$02d%4$02d%5$02d%6$02d%7$02d%9$02dAMA%10$s';
our $files_owner = '';
our $files_group = '';
our $files_mask = '';
sub update_settings {
my ($data,$configfile) = @_;
@ -88,6 +96,10 @@ sub update_settings {
$ama_max_blocks = $data->{ama_max_blocks} if exists $data->{ama_max_blocks};
$files_owner = $data->{files_owner} if exists $data->{files_owner};
$files_group = $data->{files_group} if exists $data->{files_group};
$files_mask = $data->{files_mask} if exists $data->{files_mask};
return $result;
}

Loading…
Cancel
Save