Changeset 7504
- Timestamp:
- 2004-05-31T14:41:11+12:00 (20 years ago)
- Location:
- trunk/gsdl/perllib/plugins
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/perllib/plugins/BasPlug.pm
r7362 r7504 540 540 } 541 541 542 sub filename_based_title 543 { 544 my $self = shift (@_); 545 my ($file) = @_; 546 547 my $file_derived_title = $file; 548 $file_derived_title =~ s/_/ /g; 549 $file_derived_title =~ s/\..*?$//; 550 551 return $file_derived_title; 552 } 553 554 555 sub title_fallback 556 { 557 my $self = shift (@_); 558 my ($doc_obj,$section,$file) = @_; 559 560 if (!defined $doc_obj->get_metadata_element ($section, "Title")) { 561 562 my $file_derived_title = $self->filename_based_title($file); 563 $doc_obj->add_metadata ($section, "Title", $file_derived_title); 564 } 565 } 566 542 567 sub textcat_get_language_encoding { 543 568 my $self = shift (@_); -
trunk/gsdl/perllib/plugins/ImagePlug.pm
r7362 r7504 178 178 $doc_obj->add_metadata ($section, "Source", $url); 179 179 180 $self->title_fallback($doc_obj,$section,$file); 181 $doc_obj->add_metadata ($section, "FileFormat", $type); 182 180 183 my ($image_type, $image_width, $image_height, $image_size) 181 184 = &identify($filename, $outhandle, $verbosity); -
trunk/gsdl/perllib/plugins/MP3Plug.pm
r7496 r7504 44 44 'type' => "flag", 45 45 'deft' => "", 46 'reqd' => "no" } ]; 46 'reqd' => "no" }, 47 { 'name' => "applet_metadata", 48 'desc' => "{MP3Plug.applet_metadata}", 49 'type' => "flag", 50 'deft' => "" }, 51 { 'name' => "metadata_fields", 52 'desc' => "{MP3Plug.metadata_fields}", 53 'type' => "string", 54 'deft' => "Title,Artist,Genre" } ]; 47 55 48 56 my $options = { 'name' => "MP3Plug", … … 62 70 if (!parsargv::parse(\@_, 63 71 q^assoc_images^, \$self->{'assoc_images'}, 72 q^applet_metadata^, \$self->{'applet_metadata'}, 73 q^metadata_fields/.*/Title,Artist,Genre^, \$self->{'metadata_fields'}, 64 74 "allow_extra_options")) { 65 75 print STDERR "\nIncorrect options passed to MP3Plug, check your collect.cfg configuration file\n"; … … 140 150 # Add the file as an associated file ... 141 151 my $section = $doc_obj->get_top_section(); 142 my $ file_type = $self->{'file_type'} || "audio/mp3";152 my $mime_type = $self->{'mime_type'} || "audio/mp3"; 143 153 my $assoc_field = $self->{'assoc_field'} || "mp3"; 144 154 my $assoc_name = $file; 145 155 $assoc_name =~ s/\.mp3$//; 146 156 147 $doc_obj->associate_file($filename, $dst_file, $ file_type, $section);157 $doc_obj->associate_file($filename, $dst_file, $mime_type, $section); 148 158 $doc_obj->add_metadata ($section, "Source", $file); 149 159 $doc_obj->add_metadata ($section, $assoc_field, $assoc_name); 150 160 $doc_obj->add_metadata ($section, "srcurl", $assoc_url); 151 161 162 $self->title_fallback($doc_obj,$section,$file); 163 $doc_obj->add_metadata ($section, "FileFormat", "MP3"); 164 152 165 my $mp3_info = get_mp3info($filename); 153 foreach my $ki ( keys %$mp3_info ) {154 my $mp3_metavalue = $mp3_info->{$ki};155 156 if ($mp3_metavalue !~ m/^\s*$/s) {157 my $mp3_metaname = "mp3:".lc($ki);158 $doc_obj->add_metadata ($section, $mp3_metaname, $mp3_metavalue);159 }160 }161 162 166 my $mp3_tags = get_mp3tag($filename); 163 foreach my $kt ( keys %$mp3_tags ) { 164 my $mp3_metavalue = $mp3_tags->{$kt}; 165 166 if ($mp3_metavalue !~ m/^\s*$/s) { 167 my $kt_len = length($kt); 168 $kt_initial_cap = uc(substr($kt,0,1)).lc(substr($kt,1,$kt_len-1)); 169 my $mp3_metaname = "mp3:".$kt_initial_cap; 170 171 $doc_obj->add_metadata ($section, $mp3_metaname, $mp3_metavalue); 172 if ($mp3_metaname eq "mp3:Title") { 173 $doc_obj->add_metadata ($section, "Title", $mp3_metavalue); 174 } 167 168 my $metadata_fields = $self->{'metadata_fields'}; 169 170 if ($metadata_fields eq "*") { 171 # Locate all info and tag metadata 172 173 foreach my $ki ( keys %$mp3_info ) { 174 my $mp3_metavalue = $mp3_info->{$ki}; 175 176 if ($mp3_metavalue !~ m/^\s*$/s) { 177 my $mp3_metaname = "mp3:".lc($ki); 178 $doc_obj->add_metadata ($section, $mp3_metaname, $mp3_metavalue); 179 } 180 } 181 182 foreach my $kt ( keys %$mp3_tags ) { 183 my $mp3_metavalue = $mp3_tags->{$kt}; 184 185 if ($mp3_metavalue !~ m/^\s*$/s) { 186 my $kt_len = length($kt); 187 $kt_initial_cap = uc(substr($kt,0,1)).lc(substr($kt,1,$kt_len-1)); 188 my $mp3_metaname = "mp3:".$kt_initial_cap; 189 190 $doc_obj->add_metadata ($section, $mp3_metaname, $mp3_metavalue); 191 if ($mp3_metaname eq "mp3:Title") { 192 $doc_obj->add_metadata ($section, "Title", $mp3_metavalue); 193 } 194 } 195 } 196 } 197 else { 198 199 # Restrict metadata to that specifically given 200 foreach my $field (split /,/, $metadata_fields) { 201 202 # check info 203 if (defined $mp3_info->{$field}) { 204 205 my $mp3i_metavalue = $mp3_info->{$field}; 206 207 if ($mp3i_metavalue !~ m/^\s*$/s) { 208 my $mp3i_metaname = "mp3:".lc($field); 209 $doc_obj->add_metadata ($section, $mp3i_metaname, $mp3i_metavalue); 210 } 211 } 212 213 # check tags 214 if (defined $mp3_tags->{$field}) { 215 216 my $mp3t_metavalue = $mp3_tags->{uc($field)}; 217 218 if ($mp3t_metavalue !~ m/^\s*$/s) { 219 my $mp3t_metaname = "mp3:".$field; 220 221 $doc_obj->add_metadata ($section, $mp3t_metaname, $mp3t_metavalue); 222 if ($mp3t_metaname eq "mp3:Title") { 223 $doc_obj->add_metadata ($section, "Title", $mp3t_metavalue); 224 } 225 } 226 } 227 175 228 } 176 229 } … … 178 231 $doc_obj->add_metadata ($section, "srclink", 179 232 "<a href=_httpcollection_/index/assoc/[assocfilepath]/[srcurl]>"); 180 $doc_obj->add_metadata ($section, "srcicon", 181 "<img src=_httpimg_/mp3icon.gif>"); 233 $doc_obj->add_metadata ($section, "srcicon", "<img src=_httpimg_/mp3icon.gif>"); 182 234 $doc_obj->add_metadata ($section, "/srclink", "</a>"); 183 235 184 $doc_obj->add_metadata ($section, "mp3applet", 185 gen_mp3applet("_httpcollection_/index/assoc/[assocfilepath]/[srcurl]")); 186 187 236 my $applet_metadata = $self->{'applet_metadata'}; 237 if (defined $applet_metadata && $applet_metadata ) { 238 my $applet_html 239 = gen_mp3applet("_httpcollection_/index/assoc/[assocfilepath]/[srcurl]"); 240 $doc_obj->add_metadata ($section, "mp3applet", $applet_html); 241 } 188 242 189 243 my $assoc_images = $self->{'assoc_images'}; … … 252 306 # a given plugin. 253 307 254 my $mp3_doc_count = 0; 308 my $mp3_doc_count = 0; ## is this used anywhere now !!??? 255 309 256 310 sub read { … … 278 332 279 333 ## $doc_obj->set_OIDtype ($processor->{'OIDtype'}); 280 $doc_obj->set_OIDtype ("incremental"); 334 $doc_obj->set_OIDtype ("incremental"); # this is done to avoid hashing content of file 281 335 $doc_obj->add_utf8_metadata($doc_obj->get_top_section(), "$self->{'plugin_type'}", "1"); 282 336 -
trunk/gsdl/perllib/plugins/UnknownPlug.pm
r7362 r7504 70 70 'deft' => "", 71 71 'reqd' => "no" } , 72 { 'name' => "file_type", 73 'desc' => "{UnknownPlug.file_type}", 72 { 'name' => "file_format", 73 'desc' => "{UnknownPlug.file_format}", 74 'type' => "string", 75 'deft' => "", 76 'reqd' => "no" }, 77 { 'name' => "mime_type", 78 'desc' => "{UnknownPlug.mime_type}", 74 79 'type' => "string", 75 80 'deft' => "", … … 93 98 if (!parsargv::parse(\@_, 94 99 q^assoc_field/.*/^, \$self->{'assoc_field'}, 95 q^file_type/.*/^, \$self->{'file_type'}, 100 q^file_format/.*/^, \$self->{'file_format'}, 101 q^mime_type/.*/^, \$self->{'mime_type'}, 96 102 "allow_extra_options")) { 97 103 print STDERR "\nIncorrect options passed to UnknownPlug, check your collect.cfg configuration file\n"; … … 123 129 return 0 if ($file eq "" || $filename eq ""); 124 130 125 # if ($filename =~ m/ /) {126 # print $outhandle "UnknownPlug: \"$filename\" contains a space. choking.\n";127 # return undef;128 # }129 130 131 # Add the image metadata 131 132 my $url = $file; … … 134 135 # Add the file as an associated file ... 135 136 my $section = $doc_obj->get_top_section(); 136 my $file_type = $self->{'file_type'} || "unknown/unknown"; 137 my $file_format = $self->{'file_format'} || "unknown"; 138 my $mime_type = $self->{'mime_type'} || "unknown/unknown"; 137 139 my $assoc_field = $self->{'assoc_field'} || "unknown_file"; 138 140 139 141 $doc_obj->associate_file($filename, $file, $mime_type, $section); 142 $doc_obj->add_metadata ($section, "FileFormat", $file_format); 140 143 $doc_obj->add_metadata ($section, $assoc_field, $file); 141 144 $doc_obj->add_metadata ($section, "Source", $file); 145 146 $self->title_fallback($doc_obj,$section,$file); 142 147 143 148 $doc_obj->add_metadata ($section, "srclink", 144 149 "<a href=_httpcollection_/index/assoc/[assocfilepath]/[$assoc_field]>"); 150 $doc_obj->add_metadata ($section, "srcicon", "_iconunknown_"); 145 151 $doc_obj->add_metadata ($section, "/srclink", "</a>"); 146 152
Note:
See TracChangeset
for help on using the changeset viewer.