Changeset 8852


Ignore:
Timestamp:
2004-12-17T16:50:09+13:00 (19 years ago)
Author:
kjdon
Message:

shifted format_metadata_for_sorting from BasCLas to sorttools, so other things can use it

Location:
trunk/gsdl/perllib
Files:
9 edited

Legend:

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

    r8728 r8852  
    317317        my $formatted_metavalue = $metavalue;
    318318        # how do we know how to format the metadata cos we don't know which kind of metadata this value is
    319         $formatted_metavalue = $self->format_metadata_for_sorting($self->{'metaname'}, $formatted_metavalue, $doc_obj);
     319        $formatted_metavalue = &sorttools::format_metadata_for_sorting($self->{'metaname'}, $formatted_metavalue, $doc_obj);
    320320       
    321321        #### prefix-str
     
    479479        }
    480480
    481         $formatted_node = $self->format_metadata_for_sorting($self->{'metaname'}, $formatted_node);
     481        $formatted_node = &sorttools::format_metadata_for_sorting($self->{'metaname'}, $formatted_node);
    482482
    483483        # In case our formatted string is empty...
  • trunk/gsdl/perllib/classify/AZList.pm

    r7580 r8852  
    162162    }
    163163   
    164     $metavalue = $self->format_metadata_for_sorting($metaname, $metavalue, $doc_obj);
     164    $metavalue = &sorttools::format_metadata_for_sorting($metaname, $metavalue, $doc_obj);
    165165   
    166166    if (defined $self->{'list'}->{$doc_OID}) {
  • trunk/gsdl/perllib/classify/AZSectionList.pm

    r6969 r8852  
    109109    }
    110110   
    111     $metavalue = $self->format_metadata_for_sorting($metaname, $metavalue, $doc_obj);
     111    $metavalue = &sorttools::format_metadata_for_sorting($metaname, $metavalue, $doc_obj);
    112112    if (defined $self->{'list'}->{"$doc_OID.$section"}) {
    113113        my $outhandle = $self->{'outhandle'};
  • trunk/gsdl/perllib/classify/AutoHierarchy.pm

    r8479 r8852  
    202202        $sortmeta = $doc_obj->get_metadata_element($doc_obj->get_top_section(), $self->{'sortname'});
    203203        if (defined $sortmeta) {
    204         $sortmeta = $self->format_metadata_for_sorting($self->{'sortname'}, $sortmeta, $doc_obj);
     204        $sortmeta = &sorttools::format_metadata_for_sorting($self->{'sortname'}, $sortmeta, $doc_obj);
    205205        }
    206206    }
  • trunk/gsdl/perllib/classify/BasClas.pm

    r8716 r8852  
    285285}
    286286
    287 # all classifiers do something like this, but all slightly different
    288 # so put it here so they can all share it.
    289 sub format_metadata_for_sorting {
    290 
    291     my $self = shift (@_);
    292 
    293     my ($metaname, $metavalue, $doc_obj) = @_;
    294    
    295     if ($metaname eq "Language") {
    296     $metavalue = $iso639::fromiso639{$metavalue};
    297     return $metavalue;
    298     }
    299    
    300     my $lang;
    301     if (defined $doc_obj) {
    302     $lang = $doc_obj->get_metadata_element ($doc_obj->get_top_section(), 'Language');
    303     }
    304     $lang = 'en' unless defined $lang;
    305     if ($lang eq 'en') {
    306     if ($metaname =~ /^(\w+\.)?Creator(:.*)?/) {
    307         &sorttools::format_string_name_english (\$metavalue);
    308     } else {
    309         &sorttools::format_string_english (\$metavalue);
    310     }
    311     }
    312     return $metavalue;
    313 }
    314 
    315287# previously, if a buttonname wasn't specified, we just use the metadata value,
    316288# but with a list of metadata, we want to do something a bit nicer so that
  • trunk/gsdl/perllib/classify/Hierarchy.pm

    r8763 r8852  
    190190                               $self->{'sortname'});
    191191        if (defined $sortmeta) {
    192         if ($self->{'sortname'} eq "Creator") {
    193             if ($lang eq 'en') {
    194             &sorttools::format_string_name_english (\$sortmeta);
    195             }
    196         } else {
    197             if ($lang eq 'en') {
    198             &sorttools::format_string_english (\$sortmeta);
    199             }
    200         }
     192        $sortmeta = &sorttools::format_metadata_for_sorting($self->{'sortname'}, $sortmeta, $doc_obj);
     193        #if ($self->{'sortname'} eq "Creator") {
     194        #    if ($lang eq 'en') {
     195        #   &sorttools::format_string_name_english (\$sortmeta);
     196        #    }
     197        #} else {
     198        #    if ($lang eq 'en') {
     199        #   &sorttools::format_string_english (\$sortmeta);
     200        #    }
     201        #}
    201202        }
    202203    }
  • trunk/gsdl/perllib/classify/List.pm

    r8729 r8852  
    202202        $sortmeta = $doc_obj->get_metadata_element($doc_obj->get_top_section(), $self->{'sortname'});
    203203        if (defined $sortmeta) {
    204         $sortmeta = $self->format_metadata_for_sorting($self->{'sortname'}, $sortmeta, $doc_obj);
     204        $sortmeta = &sorttools::format_metadata_for_sorting($self->{'sortname'}, $sortmeta, $doc_obj);
    205205        }
    206206    }
     
    210210    # we add to the list based on metadata value
    211211    # but we need to do the same formatting as for sort value
    212     ($metavalue) = $self->format_metadata_for_sorting($metaname, $metavalue, $doc_obj);
     212    ($metavalue) = &sorttools::format_metadata_for_sorting($metaname, $metavalue, $doc_obj);
    213213    $self->{'list'}->{$doc_OID} = $metavalue;
    214214    }
  • trunk/gsdl/perllib/classify/SectionList.pm

    r6974 r8852  
    8989        $sortmeta = $doc_obj->get_metadata_element($doc_obj->get_top_section(), $self->{'sortname'});
    9090        if (defined $sortmeta) {
    91         $sortmeta = $self->format_metadata_for_sorting($self->{'sortname'}, $sortmeta, $doc_obj);
     91        $sortmeta = &sorttools::format_metadata_for_sorting($self->{'sortname'}, $sortmeta, $doc_obj);
    9292        }
    9393    }
     
    146146    # sortingon the classification metadata
    147147    # do the same formatting on the meta value as for sort meta
    148     $metavalue = $self->format_metadata_for_sorting($metaname, $metavalue, $doc_obj);
     148    $metavalue = &sorttools::format_metadata_for_sorting($metaname, $metavalue, $doc_obj);
    149149    $self->{'list'}->{"$doc_OID.$section"} = $metavalue;
    150150    }
  • trunk/gsdl/perllib/sorttools.pm

    r7954 r8852  
    2929package sorttools;
    3030
     31# moved here from BasClas so import can share it
     32sub format_metadata_for_sorting {
     33    my ($metaname, $metavalue, $doc_obj) = @_;
     34   
     35    if ($metaname eq "Language") {
     36    $metavalue = $iso639::fromiso639{$metavalue};
     37    return $metavalue;
     38    }
     39   
     40    my $lang;
     41    if (defined $doc_obj) {
     42    $lang = $doc_obj->get_metadata_element ($doc_obj->get_top_section(), 'Language');
     43    }
     44    $lang = 'en' unless defined $lang;
     45    if ($lang eq 'en') {
     46    if ($metaname =~ /^(\w+\.)?Creator(:.*)?/) {
     47        &format_string_name_english (\$metavalue);
     48    } else {
     49        &format_string_english (\$metavalue);
     50    }
     51    }
     52    return $metavalue;
     53}
    3154
    3255# format an english string for sorting
Note: See TracChangeset for help on using the changeset viewer.