Ignore:
Timestamp:
2018-10-25T20:12:42+13:00 (6 years ago)
Author:
ak19
Message:

Using proper parameters to GreenstoneSQLPlugin/Plugout instead of hardcoded values for params.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/perllib/plugouts/GreenstoneSQLPlugout.pm

    r32537 r32541  
    4141# TODO: SIGTERM rollback and disconnect?
    4242# TODO Q: what about verbosity for debugging
     43# TODO Q: introduced site_name param to plugins and plugouts. Did I do it right? And should they have hiddengli = "yes"
    4344
    4445# this plugout does not output xml to a file, but outputs rows into a mysql table
     
    6465        'desc' => "{GreenstoneSQLPlug.process_mode.all}" } ];
    6566
     67# The following are the saveas.options:
    6668my $arguments = [
    67        { 'name' => "process_mode",
    68      'desc' => "{GreenstoneSQLPlug.process_mode}",
    69      'type' => "enum",
    70      'list' => $process_mode_list,
    71      'deft' => "all",
    72      'reqd' => "no",
    73      'hiddengli' => "no"} ];
     69    { 'name' => "process_mode",
     70      'desc' => "{GreenstoneSQLPlug.process_mode}",
     71      'type' => "enum",
     72      'list' => $process_mode_list,
     73      'deft' => "all",
     74      'reqd' => "no",
     75      'hiddengli' => "no"},
     76    { 'name' => "db_driver",
     77      'desc' => "{GreenstoneSQLPlug.db_driver}",
     78      'type' => "string",   
     79      'deft' => "mysql",
     80      'reqd' => "yes"},
     81    { 'name' => "db_client_user",
     82      'desc' => "{GreenstoneSQLPlug.db_client_user}",
     83      'type' => "string",   
     84      'deft' => "root",
     85      'reqd' => "yes"},
     86    { 'name' => "db_client_pwd",
     87      'desc' => "{GreenstoneSQLPlug.db_client_pwd}",
     88      'type' => "string",
     89      'deft' => "",
     90      'reqd' => "yes"}, # pwd required?
     91    { 'name' => "db_host",
     92      'desc' => "{GreenstoneSQLPlug.db_host}",
     93      'type' => "string",
     94      'deft' => "127.0.0.1",
     95      'reqd' => "yes"},
     96    { 'name' => "db_encoding",
     97      'desc' => "{GreenstoneSQLPlug.db_encoding}",
     98    'type' => "string",
     99      'deft' => "utf8",
     100      'reqd' => "yes"}
     101    ];
    74102
    75103my $options = { 'name'     => "GreenstoneSQLPlugout",
     
    103131    my $self= shift (@_);
    104132
     133    # The saveas.options
     134    #print STDERR "@@@@ PLUGOUT db_pwd: " . $self->{'db_client_pwd'} . "\n";
     135    #print STDERR "@@@@ user: " . $self->{'db_client_user'} . "\n";
     136    #print STDERR "@@@@ db_host: " . $self->{'db_host'} . "\n";
     137    #print STDERR "@@@@ db_enc: " . $self->{'db_encoding'} . "\n";
     138    #print STDERR "@@@@ db_driver: " . $self->{'db_driver'} . "\n";
     139    #print STDERR "@@@@ proc_mode: " . $self->{'process_mode'} . "\n";
     140   
    105141    ########### TODO: these should be set from cmdline/GLI options to plugout #########
    106     $self->{'db_driver'} = "mysql";
    107     $self->{'site_name'} = "localsite";   
    108     $self->{'db_client_user'} = "root";
    109     $self->{'db_client_pwd'} = "6reenstone3";
     142
    110143    $self->{'build_mode'} = "removeold";
    111     #$self->{'db_host'} = "127.0.0.1";
    112     #$self->{'db_encoding'} = "utf8";
    113     #TODO: proc_mode is also a saveas option   
    114    
     144
    115145    ############ LOAD NECESSARY OPTIONS ###########
    116     print STDERR "########## COLLECTION: ". $ENV{'GSDLCOLLECTION'}."\n";
    117     #$self->{'collection_name'} = $ENV{'GSDLCOLLECTION'};
     146    #print "@@@ plugout SITE NAME: ". $self->{'site_name'} . "\n" if defined $self->{'site_name'};
     147    #print STDERR "########## COLLECTION: ". $ENV{'GSDLCOLLECTION'}."\n";
     148
    118149    print STDERR "***** GreenstoneSQLPlugout process mode = \"", $self->{'process_mode'}, "\"\n";
    119150
     
    121152    'collection_name' => $ENV{'GSDLCOLLECTION'},   
    122153    'db_encoding' => $self->{'db_encoding'}
    123     #'db_name' => $self->{'site_name'},
    124     #'build_mode' => $self->{'build_mode'},
    125154    };
    126155
     
    142171    }
    143172   
    144     my $db_name = $self->{'site_name'} || "localsite"; # one database per GS3 site
     173    my $db_name = $self->{'site_name'} || "greenstone2"; # one database per GS3 site, for GS2 the db is called greenstone2
    145174    my $build_mode = $self->{'build_mode'} || "removeold";
    146175    if(!$gs_sql->load_db_and_tables($db_name, $build_mode)) {
     
    149178    # PrintError would already have displayed the warning message on load fail
    150179    $gs_sql->disconnect_from_db()
    151         || warn("Unable to disconnect from database " . $self->{'site_name'} . "\n");
     180        || warn("Unable to disconnect from database.\n");
    152181    die("Could not use db $db_name and/or prepare its tables. Can't proceed.\n");
    153182    }
Note: See TracChangeset for help on using the changeset viewer.