The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

DOCUMENTATION

SYNOPSIS

 PERL PACKAGE 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

USE

NOTES

Examples

CHANGES and their DATES

sub _close

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_in

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 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_data

                detects and attempts to rectify program order error
                $oop_text->set_bin_out();
                

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"); # }

# for (my $j=0; $j < $num_progs4flow; $j++ ) { # # my $num_params4prog = scalar @{@{$files_LSU->{_prog_param_labels_aref2}}[$j]}; # print("files_LSU,set_prog_param_labels_aref2,num_params4prog in index=$j: $num_params4prog \n"); # print("\nfiles_LSU,_prog_param_labels_aref2, labels:\n"); # my @labels = @{@{$files_LSU->{_prog_param_labels_aref2}}[$j]}; # print("@labels\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 = new 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 "%-35s%1s%-20s\n",$CFG[$j],"= ",$CFG[($j+1)];
    }