Changeset 11965


Ignore:
Timestamp:
2006-06-22T15:05:12+12:00 (18 years ago)
Author:
kjdon
Message:

removed unused funcitons. also, changed basebuilder back to call output_collection_metadata, but this does nothing by default. and for mgpp, it will output some values if there is no collection metadata defined. e.g. if they have specified 'indexes metadata' - there is no collectionmeta, so we add in some into the database e.g. TI->Title.

Location:
trunk/gsdl/perllib
Files:
2 edited

Legend:

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

    r11963 r11965  
    323323    $self->{'buildproc'}->zero_reset();
    324324   
    325     # don't need this anymore
    326     #$self->output_collection_meta($handle);
     325    # this has changed to only output collection meta if its
     326    # not in the config file
     327    $self->output_collection_meta($handle);
    327328
    328329    &plugin::read ($self->{'pluginfo'}, $self->{'source_dir'},
     
    512513}
    513514
    514 # don't use this anymore - get rid of it???
     515# default is to do nothing
    515516sub output_collection_meta {
    516517    my $self = shift(@_);
    517518    my ($handle) = @_;
    518     my $outhandle = $self->{'outhandle'};
    519     if (defined $self->{'collect_cfg'}->{'collectionmeta'}) {
    520    
    521         if (!defined $self->{'index_mapping'}) {
    522         $self->{'index_mapping'} =
    523         $self->create_index_mapping ($self->{'collect_cfg'}->{'indexes'});
    524     }
    525    
    526     print $handle "[collection]\n";
    527      
    528     foreach my $cmeta (keys (%{$self->{'collect_cfg'}->{'collectionmeta'}})) {
    529         my $defaultfound=0;
    530         my $first=1;
    531         my $metadata_entry = "";
    532         my $default="";
    533         my $cmetamap = "";
    534         if ($cmeta =~ s/^\.//) {
    535             if (defined $self->{'index_mapping'}->{$cmeta}) {
    536             $cmetamap = $self->{'index_mapping'}->{$cmeta};
    537             $cmeta = ".$cmeta";
    538         }
    539         else {
    540             print $outhandle "mgbuilder: warning bad collectionmeta option '$cmeta' - ignored\n";
    541             next; #ignore this one
    542         }
    543         }
    544         else {
    545         $cmetamap = $cmeta; # just using the same name
    546         }
    547         #iterate through the languages
    548         foreach my $lang (keys (%{$self->{'collect_cfg'}->{'collectionmeta'}->{$cmeta}})) {
    549         if ($first) {
    550             $first=0;
    551             #set the default default to the first entry
    552             $default=$self->{'collect_cfg'}->{'collectionmeta'}->{$cmeta}->{$lang};
    553         }
    554         if ($lang =~ /default/) {
    555             $defaultfound=1;
    556             #the default entry goes first
    557             $metadata_entry = "<$cmetamap>" .
    558             $self->{'collect_cfg'}->{'collectionmeta'}->{$cmeta}->{'default'} . "\n" . $metadata_entry;
    559         }
    560         else {
    561             my ($l) = $lang =~ /^\[l=(\w*)\]$/;
    562             if ($l) {
    563             $metadata_entry .= "<$cmetamap:$l>" .
    564                 $self->{'collect_cfg'}->{'collectionmeta'}->{$cmeta}->{$lang} . "\n";
    565 
    566             # Use the English value as the default if no default is specified
    567             if ($l =~ /en/i) {
    568                 $default=$self->{'collect_cfg'}->{'collectionmeta'}->{$cmeta}->{$lang};
    569             }
    570             }
    571         }
    572         }
    573         #if we haven't found a default, put one in
    574         if (!$defaultfound) {
    575         $metadata_entry = "<$cmetamap>$default\n" . $metadata_entry;
    576         }
    577     #write the entry to the file
    578     print $handle $metadata_entry;
    579 
    580     }
    581    
    582     print $handle "\n" . ('-' x 70) . "\n";
    583     }
    584    
    585 }
    586  
     519
    587520sub print_stats {
    588521    my $self = shift (@_);
  • trunk/gsdl/perllib/mgppbuilder.pm

    r11963 r11965  
    592592}   
    593593
    594 # not used anymore
     594# now only outputs stuff if you can't generate it from collectionmeta - e.g. if someone has specified 'metadata' as an index.
    595595sub output_collection_meta {
    596596    my $self = shift(@_);
     
    610610    if (defined $self->{'collect_cfg'}->{'collectionmeta'}) {
    611611    $collmetadefined = 1;
    612     foreach my $cmeta (keys (%{$self->{'collect_cfg'}->{'collectionmeta'}})) {
    613         next if ($cmeta =~ /^\./); # for now, ignore ones with dots
    614         $metadata_entry = $self->create_language_db_map($cmeta, $cmeta);
    615         #write the entry to the file
    616         print $handle $metadata_entry;
    617        
    618     } # foreach collmeta key
    619     }
     612    }
     613
    620614    #add the index field macros to [collection]
    621615    # eg <TI>Title
     
    628622    next if $shortfield eq 1;
    629623   
    630     # we need to check if some coll meta has been defined
     624    # we need to check if some coll meta has been defined - don't output
     625    # any that have
    631626    $collmeta = ".$longfield";
    632     if ($collmetadefined && defined $self->{'collect_cfg'}->{'collectionmeta'}->{$collmeta}) {
    633         $metadata_entry = $self->create_language_db_map($collmeta, $shortfield);
    634         $field_entry .= $metadata_entry;
    635     } else { #use the metadata names, or the text macros for allfields and textonly
     627    if (!$collmetadefined || !defined $self->{'collect_cfg'}->{'collectionmeta'}->{$collmeta}) {
    636628        if ($longfield eq "allfields") {
    637629        $field_entry .= "<$shortfield>_query:textallfields_\n";
     
    643635    }
    644636    }
    645    print $handle $field_entry;
     637    print $handle $field_entry;
    646638   
    647639    # now add the level names
     
    651643    $level =~ tr/A-Z/a-z/; # make it lower case
    652644    my $levelid = $level_map{$level}; # find the actual value we used in the index
    653     if ($collmetadefined && defined $self->{'collect_cfg'}->{'collectionmeta'}->{$collmeta}) {
    654         $metadata_entry = $self->create_language_db_map($collmeta, $levelid);
    655         $level_entry .= $metadata_entry;
    656     } else {
     645    if (!$collmetadefined || !defined $self->{'collect_cfg'}->{'collectionmeta'}->{$collmeta}) {
    657646        # use the default macro
    658647        $level_entry .= "<$levelid>" . $level_map{$levelid} . "\n";
     
    666655    my $one_entry = "";
    667656    foreach my $subcoll (@{$self->{'index_mapping'}->{'subcollectionmaporder'}}) {
    668     if (defined $self->{'collect_cfg'}->{'collectionmeta'}->{".$subcoll"}) {
    669         $shortname = $self->{'index_mapping'}->{$subcoll};
    670         $one_entry = $self->create_language_db_map(".$subcoll", $shortname);
    671         $subcoll_entry .= $one_entry;
    672     } else {
     657    $shortname = $self->{'index_mapping'}->{$subcoll};
     658    if (!$collmetadefined || !defined $self->{'collect_cfg'}->{'collectionmeta'}->{".$subcoll"}) {
    673659        $subcoll_entry .= "<$shortname>$subcoll\n";
    674660    }
     
    679665    my $lang_entry = "";
    680666    foreach my $lang (@{$self->{'index_mapping'}->{'languagemaporder'}}) {
    681     if (defined $self->{'collect_cfg'}->{'collectionmeta'}->{".$lang"}) {
    682         $shortname = $self->{'index_mapping'}->{$lang};
    683         $one_entry = $self->create_language_db_map(".$lang", $shortname);
    684         $lang_entry .= $one_entry;
    685     } else {
     667    $shortname = $self->{'index_mapping'}->{$lang};
     668    if (!$collmetadefined || !defined $self->{'collect_cfg'}->{'collectionmeta'}->{".$lang"}) {
    686669        $lang_entry .= "<$shortname>$lang\n";
    687670    }
     
    692675
    693676
    694 }
    695 sub create_language_db_map {
    696     my $self = shift (@_);
    697     my ($metaname, $mapname) = @_;
    698     my $outhandle =  $self->{'outhandle'};
    699     my $defaultfound=0;
    700     my $first=1;
    701     my $metadata_entry = "";
    702     my $default="";
    703     #iterate through the languages
    704     foreach my $lang (keys (%{$self->{'collect_cfg'}->{'collectionmeta'}->{$metaname}})) {
    705     if ($first) {
    706         $first=0;
    707         #set the default default to the first entry
    708         $default=$self->{'collect_cfg'}->{'collectionmeta'}->{$metaname}->{$lang};
    709     }
    710     if ($lang =~ /default/) {
    711         $defaultfound=1;
    712         #the default entry goes first
    713         $metadata_entry = "<$mapname>" .
    714         $self->{'collect_cfg'}->{'collectionmeta'}->{$metaname}->{'default'} . "\n" . $metadata_entry;
    715     }
    716     else {
    717         my ($l) = $lang =~ /^\[l=(\w*)\]$/;
    718         if ($l) {
    719         $metadata_entry .= "<$mapname:$l>" .
    720             $self->{'collect_cfg'}->{'collectionmeta'}->{$metaname}->{$lang} . "\n";
    721 
    722         # Use the English value as the default if no default is specified
    723         if ($l =~ /en/i) {
    724             $default=$self->{'collect_cfg'}->{'collectionmeta'}->{$metaname}->{$lang};
    725         }
    726         }
    727     }
    728     } #foreach lang
    729     #if we haven't found a default, put one in
    730     if (!$defaultfound) {
    731     $metadata_entry = "<$mapname>$default\n" . $metadata_entry;
    732     }
    733     return $metadata_entry;
    734    
    735677}
    736678
Note: See TracChangeset for help on using the changeset viewer.