source: main/trunk/greenstone2/perllib/extrametautil.pm@ 32542

Last change on this file since 32542 was 29819, checked in by kjdon, 9 years ago

changed the name in the comments

File size: 4.5 KB
Line 
1###########################################################################
2#
3# extrametautil.pm -- various useful utilities
4# A component of the Greenstone digital library software
5# from the New Zealand Digital Library Project at the
6# University of Waikato, New Zealand.
7#
8# Copyright (C) 1999 New Zealand Digital Library Project
9#
10# This program is free software; you can redistribute it and/or modify
11# it under the terms of the GNU General Public License as published by
12# the Free Software Foundation; either version 2 of the License, or
13# (at your option) any later version.
14#
15# This program is distributed in the hope that it will be useful,
16# but WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18# GNU General Public License for more details.
19#
20# You should have received a copy of the GNU General Public License
21# along with this program; if not, write to the Free Software
22# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23#
24###########################################################################
25
26package extrametautil;
27
28use strict;
29
30use util;
31#use Encode;
32#use File::Copy;
33use File::Basename;
34
35
36#******************* ADD: add extrametakey, add extrametadata *********************#
37sub addmetakey {
38 my ($extrametakeys, $filename_re_for_metadata) = @_;
39 push(@$extrametakeys, $filename_re_for_metadata);
40}
41
42# Unused. Added for symmetry
43sub addmetadata {
44 my ($extrametadata, $filename_re_for_metadata, $value) = @_;
45 my $metanames = $extrametadata->{$filename_re_for_metadata};
46 push(@$metanames, $value);
47}
48
49# Unused. Added for symmetry
50sub addmetafile {
51 my ($extrametafile, $filename_re_for_metadata, $file) = @_;
52 my $metafiles = $extrametafile->{$filename_re_for_metadata};
53 push(@$metafiles, $file);
54}
55
56sub addmetadata_for_named_metaname { # e.g. push(@{$extrametadata->{$filename_re_for_metadata}->{$field_name}}, $value);
57 my ($extrametadata, $filename_re_for_metadata, $field_name, $value) = @_;
58 my $metaname_vals = $extrametadata->{$filename_re_for_metadata}->{$field_name};
59 push(@$metaname_vals, $value);
60}
61
62# Unused. Added for symmetry
63sub addmetafile_for_named_file {
64 my ($extrametafile, $filename_re_for_metadata, $file, $filename_full_path) = @_;
65 my $metafile_vals = $extrametafile->{$filename_re_for_metadata}->{$file};
66 push(@$metafile_vals, $filename_full_path);
67}
68
69
70#**************** In future, may be useful to expand this utility file
71#**************** by having remove methods to mirror the add methods
72
73
74#******************* GET methods
75sub getmetadata {
76 my ($extrametadata, $filename_re_for_metadata) = @_;
77 return $extrametadata->{$filename_re_for_metadata};
78}
79
80sub getmetafile {
81 my ($extrametafile, $filename_re_for_metadata) = @_;
82 return $extrametafile->{$filename_re_for_metadata};
83}
84
85sub getmetadata_for_named_metaname {
86 my ($extrametadata, $filename_re_for_metadata, $field_name) = @_;
87 return $extrametadata->{$filename_re_for_metadata}->{$field_name}; # e.g. $extrametadata->{$filename_re_for_metadata}->{$field_name}
88}
89
90# Unused. Added for symmetry
91sub getmetadata_for_named_file {
92 my ($extrametafile, $filename_re_for_metadata, $file) = @_;
93 return $extrametafile->{$filename_re_for_metadata}->{$file};
94}
95
96sub 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
101
102#******************* SET methods
103sub setmetadata {
104 my ($extrametadata, $filename_re_for_metadata, $value) = @_;
105 $extrametadata->{$filename_re_for_metadata} = $value;
106}
107
108sub setmetafile { # e.g. $extrametafile{$filename_re_for_metadata} = $file;
109 my ($extrametafile, $filename_re_for_metadata, $file) = @_;
110 $extrametafile->{$filename_re_for_metadata} = $file;
111}
112
113sub 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
118sub setmetafile_for_named_file {
119 my ($extrametafile, $filename_re_for_metadata, $file, $filename_full_path) = @_;
120 $extrametafile->{$filename_re_for_metadata}->{$file} = $filename_full_path;
121}
122
123# Unused. Added for symmetry
124sub setmetadata_for_named_pos {
125 my ($extrametadata, $filename_re_for_metadata, $metaname, $index, $value) = @_;
126 $extrametadata->{$filename_re_for_metadata}->{$metaname}->[$index] = $value;
127}
128
129
1301;
Note: See TracBrowser for help on using the repository browser.