DOCUMENTATION
SYNOPSIS
PERL PERL PROGRAM NAME: files_LSU
AUTHOR: Juan Lorenzo
DATE: May 6 2018
DESCRIPTION
BASED ON:
Version 0.0.2 May 6 2018
changed _private_* to _*
V 0.0.3 July 24 2018 include data_in, exclude data_out
V 0.0.4 7.14.21 sets the flow color
USE
NOTES
Examples
CHANGES and their DATES
sub _close
_get_superflow_config_file_format_aref
sub _get_prog_name_config
needs $L_SU->{_prog_name_sref}
sub _get_PL_SEISMIC
_open2write
suffix_type_set_suffix_suffix_type TODO: suffix_type out may not be always type=$su in the case that the program in the list starts with $su At that point it will be necessary to investigate the program_spec.pm module suffix_type sub _set_suffix_type_out { my ($type) = @_; _set_datas files_les_LSU->{_suffix_type_out} = $suffix_types_LSU->{_is_suffix_type} = $true;
return();
}
sub _set_PL_SEISMIC
_set_data_direction_in
_set_data_direction_out
sub _set_data
sub _set_data_out
sub _set_prog_name_config
needs $L_SU->{_prog_name_sref}
sub _set_prog_names_aref
sub _set_prog_version_aref
sub _set_outbound2pl
print("files_LSU,_set_outbound2pl,program_name $files_LSU->{_program_name}\n");
print("files_LSU,_set_outbound2pl,program_name_config $files_LSU->{_program_name_config}\n");
_set_suffix_type_in
_set_suffix_type_out
sub check2write
files_LSU,check2write for pre-built or superflows except Project.config, which uses sub write2
sub copy_default_config
files_LSU,copy_default_config for pre-built/superflows/Tools (except Project.config, uses sub write2)
sub outbound
needs prog_name_sref and is_Project_config or or _is_config
Why use App::SeismicUnixGui::misc::name module?; To modify input names-- adapt them to infer which spec and parameter files to read
Program names in GUI
and configuration file names
in the local (!!) directory
may be different.
sub outbound2
needs prog_name_sref
is_Project_config or _is_config
TODO: make exclusive for cases that are NOT Project_config
sub set_PL_SEISMIC
set_Project_config turn file type definitions on and off
set_config
set_superflow_config_file_format
set_data
detects and attempts to rectify program order error
$oop_text->set_bin_out();
Expects suprograms that start with "su" or "uni"
sub set_flow_color
set_message
relay messages via the main message widget in GUI
set2pl
saved files are local perl flows
sub set_outbound
print("files_LSU,set_outbound,program_name $files_LSU->{_program_name}\n"); print("files_LSU,set_outbound,program_name_config $files_LSU->{_program_name_config}\n");
sub set_outbound2
sub set_items_versions_aref
sub set_prog_param_values_aref2
sub set_prog_param_labels_aref2
my $num_progs4flow = scalar @{$files_LSU->{_prog_param_labels_aref2}};
print("\nfiles_LSU,set_prog_param_labels_aref2, num_progs4flow: $num_progs4flow\n");
for (my $i=0; $i < $num_progs4flow; $i++ ) {
print("files_LSU,set_prog_param_labels_aref2,
@{@{$files_LSU->{_prog_param_labels_aref2}}[$i]}\n");
}
my $num_progs4flow = scalar @{$files_LSU->{_prog_param_values_aref2}};
print("\nfiles_LSU,set_prog_param_values_aref2, num_progs4flow: $num_progs4flow\n");
for (my $i=0; $i < $num_progs4flow; $i++ ) {
print("files_LSU,set_prog_param_values_aref2,
@{@{$files_LSU->{_prog_param_values_aref2}}[$i]}\n");
}
sub set_prog_names_aref
sub set_prog_names_aref
sub set_superflow_specs
Output parameters for superflows
A Tool is a superflow
i/p $hash_ref to obtain entry labels and
values and parameters from widgets to build @CFG
DB print("prog name $program_name\n"); print(" save_button,save,configure,write_LSU,tool_specs $files_LSU->{_program_name_config}\n"); print("save,superflow,write_LSU, key/value pairs:$CFG[$i], $CFG[$j]\n"); #use Config::Simple; #my $cfg = Config::Simple(syntax=>'ini'); #$cfg->write($files_LSU->{_program_name_config}); # print "@CFGpa\n"; #$cfg->ram($CFG[$i] ,$CFG[$j]); #print "@CFG\n"; # print("write_LSU,tool_specs \nprog_name:${$files_LSU->{_program_name}}\n"); # print("\n prog_name_config: $files_LSU->{_program_name_config}\n"); # print(" labels: @{$hash_ref->{_ref_labels}}\n"); # print(" values: @{$hash_ref->{_ref_values}}\n");
# no. of variables comes from specs file directly
$length = scalar @{$hash_ref->{_ref_labels}};-- old version
sub sizes
sub _write
Write out configuration files to script
sub write
all files if outbound includes the existing
file path as well
sub write2
used for dealing with ONLY Project.config
sub write_config
sub save
write out user-built *.pl flow files
for (my $i=0, my $j=0; $i<$length; $i++, $j=$j+2){
printf $OUT " \n",$CFG[$j],"= ",$CFG[($j+1)];
}