Changeset 811 for trunk


Ignore:
Timestamp:
1999-12-07T10:47:13+13:00 (24 years ago)
Author:
sjboddie
Message:

classifiers are loaded up more like plugins

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/perllib/classify.pm

    r652 r811  
    3333$next_classify_num = 1;
    3434
    35 # load_classifier will load one classifier. $classinfo is an
    36 # array containing information about the classifier to load. The
    37 # first element of the array is the name of the classifier, the
    38 # rest of the elements are classifier specific.
    39 sub load_classifier {
    40     my ($classinfo) = @_;
     35sub load_classifiers {
     36    my ($classify_list) = @_;
     37    my @classify_objects = ();
     38   
     39    foreach $classifyoption (@$classify_list) {
    4140
    42     # get the classifier name
    43     my $classname = shift(@$classinfo);
    44     return undef unless defined $classname;
     41    # get the classifier name
     42    my $classname = shift @$classifyoption;
     43    next unless defined $classname;
    4544   
    46     # find the classifier
    47     my $colclassname = &util::filename_cat($ENV{'GSDLCOLLECTDIR'},"perllib/classify",
    48                        "${classname}.pm");
    49     my $mainclassname = &util::filename_cat($ENV{'GSDLHOME'},"perllib/classify",
    50                         "${classname}.pm");
    51     if (-e $colclassname) { require $colclassname; }
    52     elsif (-e $mainclassname) { require $mainclassname; }
    53     else { die "ERROR - couldn't find classifier \"$classname\"\n"; }
     45    # find the classifier
     46    my $colclassname = &util::filename_cat($ENV{'GSDLCOLLECTDIR'},"perllib/classify",
     47                           "${classname}.pm");
     48    my $mainclassname = &util::filename_cat($ENV{'GSDLHOME'},"perllib/classify",
     49                        "${classname}.pm");
    5450
    55     # create the classify object
    56     my ($classobj);
    57     map { $_ = "\"$_\""; } @$classinfo;
    58     my $options = join (",", @$classinfo);
    59     eval ("\$classobj = new $classname($options)");
    60     die "$@" if $@;
     51    if (-e $colclassname) { require $colclassname; }
     52    elsif (-e $mainclassname) { require $mainclassname; }
     53    else { die "ERROR - couldn't find classifier \"$classname\"\n"; }
    6154
    62     return $classobj;
     55    # create the classify object
     56    my ($classobj);
     57    map { $_ = "\"$_\""; } @$classifyoption;
     58    my $options = join (",", @$classifyoption);
     59    eval ("\$classobj = new \$classname($options)");
     60    die "$@" if $@;
     61   
     62    # add this object to the list
     63    push (@classify_objects, $classobj);
     64    }
     65
     66    return \@classify_objects;
    6367}
    6468
Note: See TracChangeset for help on using the changeset viewer.