Changeset 8852
- Timestamp:
- 2004-12-17T16:50:09+13:00 (19 years ago)
- Location:
- trunk/gsdl/perllib
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/perllib/classify/AZCompactList.pm
r8728 r8852 317 317 my $formatted_metavalue = $metavalue; 318 318 # 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); 320 320 321 321 #### prefix-str … … 479 479 } 480 480 481 $formatted_node = $self->format_metadata_for_sorting($self->{'metaname'}, $formatted_node);481 $formatted_node = &sorttools::format_metadata_for_sorting($self->{'metaname'}, $formatted_node); 482 482 483 483 # In case our formatted string is empty... -
trunk/gsdl/perllib/classify/AZList.pm
r7580 r8852 162 162 } 163 163 164 $metavalue = $self->format_metadata_for_sorting($metaname, $metavalue, $doc_obj);164 $metavalue = &sorttools::format_metadata_for_sorting($metaname, $metavalue, $doc_obj); 165 165 166 166 if (defined $self->{'list'}->{$doc_OID}) { -
trunk/gsdl/perllib/classify/AZSectionList.pm
r6969 r8852 109 109 } 110 110 111 $metavalue = $self->format_metadata_for_sorting($metaname, $metavalue, $doc_obj);111 $metavalue = &sorttools::format_metadata_for_sorting($metaname, $metavalue, $doc_obj); 112 112 if (defined $self->{'list'}->{"$doc_OID.$section"}) { 113 113 my $outhandle = $self->{'outhandle'}; -
trunk/gsdl/perllib/classify/AutoHierarchy.pm
r8479 r8852 202 202 $sortmeta = $doc_obj->get_metadata_element($doc_obj->get_top_section(), $self->{'sortname'}); 203 203 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); 205 205 } 206 206 } -
trunk/gsdl/perllib/classify/BasClas.pm
r8716 r8852 285 285 } 286 286 287 # all classifiers do something like this, but all slightly different288 # 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 315 287 # previously, if a buttonname wasn't specified, we just use the metadata value, 316 288 # but with a list of metadata, we want to do something a bit nicer so that -
trunk/gsdl/perllib/classify/Hierarchy.pm
r8763 r8852 190 190 $self->{'sortname'}); 191 191 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 #} 201 202 } 202 203 } -
trunk/gsdl/perllib/classify/List.pm
r8729 r8852 202 202 $sortmeta = $doc_obj->get_metadata_element($doc_obj->get_top_section(), $self->{'sortname'}); 203 203 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); 205 205 } 206 206 } … … 210 210 # we add to the list based on metadata value 211 211 # 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); 213 213 $self->{'list'}->{$doc_OID} = $metavalue; 214 214 } -
trunk/gsdl/perllib/classify/SectionList.pm
r6974 r8852 89 89 $sortmeta = $doc_obj->get_metadata_element($doc_obj->get_top_section(), $self->{'sortname'}); 90 90 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); 92 92 } 93 93 } … … 146 146 # sortingon the classification metadata 147 147 # 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); 149 149 $self->{'list'}->{"$doc_OID.$section"} = $metavalue; 150 150 } -
trunk/gsdl/perllib/sorttools.pm
r7954 r8852 29 29 package sorttools; 30 30 31 # moved here from BasClas so import can share it 32 sub 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 } 31 54 32 55 # format an english string for sorting
Note:
See TracChangeset
for help on using the changeset viewer.