Changeset 36372 for main/trunk/greenstone2/perllib/extrametautil.pm
- Timestamp:
- 2022-08-16T19:38:05+12:00 (21 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/extrametautil.pm
r29819 r36372 34 34 35 35 36 #******************* ADD: add extrametakey, add extrametadata *********************# 36 # extrametakeys - an array that contains all the filenames for which we have 37 # some added metadata 38 #--------------------------------- 37 39 sub addmetakey { 38 40 my ($extrametakeys, $filename_re_for_metadata) = @_; … … 40 42 } 41 43 44 # extrametafiles - a hash on filenames (the files to which metadata will be 45 # associated), containing a hash of file->fullfilename for all the metadata 46 # files that metadata was obtained from 47 #------------------------------------------- 48 49 sub addmetafile { 50 my ($extrametafile, $filename_re_for_metadata, $file, $filename_full_path) = @_; 51 if (!defined $extrametafile->{$filename_re_for_metadata}) { 52 $extrametafile->{$filename_re_for_metadata} = {}; 53 } 54 $extrametafile->{$filename_re_for_metadata}->{$file} = $filename_full_path; 55 } 56 57 # was called setmetafile 58 sub setmetafilehash { 59 my ($extrametafile, $filename_re_for_metadata, $file_hash) = @_; 60 $extrametafile->{$filename_re_for_metadata} = $file_hash; 61 } 62 63 # was called getmetafile 64 sub getmetafilehash { 65 my ($extrametafile, $filename_re_for_metadata) = @_; 66 return $extrametafile->{$filename_re_for_metadata}; 67 } 68 69 # extrametadata - a hash on filenames (the files to which metadata will be 70 # associated), containing a hash of name->[value array] pairs of metadata 71 #---------------------------------------- 72 73 # set the metadata hash for a particular file 74 sub setmetadata { 75 my ($extrametadata, $filename_re_for_metadata, $meta_hash) = @_; 76 $extrametadata->{$filename_re_for_metadata} = $meta_hash; 77 } 78 79 # gets the metadata hash for a particular file 80 sub getmetadata { 81 my ($extrametadata, $filename_re_for_metadata) = @_; 82 return $extrametadata->{$filename_re_for_metadata}; 83 } 84 85 # add a single value to a specific metadata field 86 sub addmetadatum { 87 my ($extrametadata, $filename_re_for_metadata, $field_name, $value) = @_; 88 if (!defined $extrametadata->{$filename_re_for_metadata}->{$field_name}) { 89 $extrametadata->{$filename_re_for_metadata}->{$field_name} = []; 90 } 91 my $metaname_vals = $extrametadata->{$filename_re_for_metadata}->{$field_name}; 92 push(@$metaname_vals, $value); 93 } 94 95 # get a specific value for a particular metadata field 96 # e.g. $extrametadata->{$filename_re_for_metadata}->{"dc.Identifier"}->[0] 97 sub getmetadatum_by_index { 98 my ($extrametadata, $filename_re_for_metadata, $metaname, $index) = @_; 99 return $extrametadata->{$filename_re_for_metadata}->{$metaname}->[$index]; 100 } 101 102 #---------------------------------------------- 103 #### unused below here 104 42 105 # Unused. Added for symmetry 43 sub addmetadata {106 sub addmetadata_UNUSED { 44 107 my ($extrametadata, $filename_re_for_metadata, $value) = @_; 45 108 my $metanames = $extrametadata->{$filename_re_for_metadata}; … … 48 111 49 112 # Unused. Added for symmetry 50 sub addmetafile {113 sub addmetafile_UNUSED { 51 114 my ($extrametafile, $filename_re_for_metadata, $file) = @_; 52 115 my $metafiles = $extrametafile->{$filename_re_for_metadata}; … … 54 117 } 55 118 56 sub addmetadata_for_named_metaname { # e.g. push(@{$extrametadata->{$filename_re_for_metadata}->{$field_name}}, $value);119 sub addmetadata_for_named_metaname_OLD { # e.g. push(@{$extrametadata->{$filename_re_for_metadata}->{$field_name}}, $value); 57 120 my ($extrametadata, $filename_re_for_metadata, $field_name, $value) = @_; 58 121 my $metaname_vals = $extrametadata->{$filename_re_for_metadata}->{$field_name}; … … 61 124 62 125 # Unused. Added for symmetry 63 sub addmetafile_for_named_file {126 sub addmetafile_for_named_file_UNUSED { 64 127 my ($extrametafile, $filename_re_for_metadata, $file, $filename_full_path) = @_; 65 128 my $metafile_vals = $extrametafile->{$filename_re_for_metadata}->{$file}; … … 73 136 74 137 #******************* GET methods 75 sub getmetadata {76 my ($extrametadata, $filename_re_for_metadata) = @_;77 return $extrametadata->{$filename_re_for_metadata};78 }79 138 80 sub getmetafile {81 my ($extrametafile, $filename_re_for_metadata) = @_;82 return $extrametafile->{$filename_re_for_metadata};83 }84 139 85 sub getmetadata_for_named_metaname {140 sub getmetadata_for_named_metaname_OLD { 86 141 my ($extrametadata, $filename_re_for_metadata, $field_name) = @_; 87 142 return $extrametadata->{$filename_re_for_metadata}->{$field_name}; # e.g. $extrametadata->{$filename_re_for_metadata}->{$field_name} … … 89 144 90 145 # Unused. Added for symmetry 91 sub getmeta data_for_named_file{146 sub getmetafile_for_named_file_UNUSED { 92 147 my ($extrametafile, $filename_re_for_metadata, $file) = @_; 93 148 return $extrametafile->{$filename_re_for_metadata}->{$file}; 94 149 } 95 150 96 sub getmetadata_for_named_pos {97 my ($extrametadata, $filename_re_for_metadata, $metaname, $index) = @_;98 return $extrametadata->{$filename_re_for_metadata}->{$metaname}->[$index]; # e.g. $extrametadata->{$filename_re_for_metadata}->{"dc.Identifier"}->[0]99 }100 151 101 152 102 153 #******************* SET methods 103 sub setmetadata { 104 my ($extrametadata, $filename_re_for_metadata, $value) = @_; 105 $extrametadata->{$filename_re_for_metadata} = $value; 154 155 # set an individual name-value pair in the metadata hash for a particular file 156 sub setmetadata_for_named_metaname_OLD { 157 my ($extrametadata, $filename_re_for_metadata, $field_name, $value) = @_; 158 $extrametadata->{$filename_re_for_metadata}->{$field_name} = $value; 106 159 } 107 108 sub setmetafile { # e.g. $extrametafile{$filename_re_for_metadata} = $file; 109 my ($extrametafile, $filename_re_for_metadata, $file) = @_; 160 sub setmetafile_UNUSED { # e.g. $extrametafile{$filename_re_for_metadata} = $file; 161 my ($extrametafile, $filename_re_for_metadata, $file, $filename_full_path) = @_; 110 162 $extrametafile->{$filename_re_for_metadata} = $file; 111 163 } 112 164 113 sub setmetadata_for_named_metaname { 114 my ($extrametadata, $filename_re_for_metadata, $field_name, $value) = @_; 115 $extrametadata->{$filename_re_for_metadata}->{$field_name} = $value; 116 } 117 118 sub setmetafile_for_named_file { 165 sub setmetafile_for_named_file_OLD { 119 166 my ($extrametafile, $filename_re_for_metadata, $file, $filename_full_path) = @_; 120 167 $extrametafile->{$filename_re_for_metadata}->{$file} = $filename_full_path; … … 122 169 123 170 # Unused. Added for symmetry 124 sub setmetadata_for_named_pos {171 sub setmetadata_for_named_pos_UNUSED { 125 172 my ($extrametadata, $filename_re_for_metadata, $metaname, $index, $value) = @_; 126 173 $extrametadata->{$filename_re_for_metadata}->{$metaname}->[$index] = $value;
Note:
See TracChangeset
for help on using the changeset viewer.