annotate makemeta-lib.pl @ 14:018e7c913b32

lang japanese
author casties
date Wed, 01 Jun 2005 14:26:52 +0200
parents f33fb7f1898e
children 8d2f0586eca6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
1 #!/usr/local/bin/perl -w
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
2
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
3 use strict;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
4 use XML::LibXML;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
5
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
6 use lib '/usr/local/mpiwg/archive';
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
7 use MPIWGStor;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
8
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
9 # make output unbuffered
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
10 $|=1;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
11
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
12 # program version
13
f33fb7f1898e added mapping for spanish lang
casties
parents: 12
diff changeset
13 my $version = "0.1.1 (1.6.2005)";
12
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
14 logger("INFO", "makemeta-lib $version");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
15
13
f33fb7f1898e added mapping for spanish lang
casties
parents: 12
diff changeset
16 ###########################################
12
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
17 # mappings
13
f33fb7f1898e added mapping for spanish lang
casties
parents: 12
diff changeset
18
12
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
19 # generic mappings at top level
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
20 my %gen_map = (
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
21 'Device' => 'meta/image-acquisition/device',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
22 'Image_Type' => 'meta/image-acquisition/image-type',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
23 'Production_Comment' => 'meta/image-acquisition/production-comment',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
24 'Postproduction' => 'meta/image-acquisition/production-comment',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
25 'Language' => 'meta/lang'
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
26 );
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
27 # sub type switch tag
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
28 my %type_map = (
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
29 'Reference_Type' => 'meta/bib@type'
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
30 );
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
31 # sub type mappings
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
32 my %subtype_map = (
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
33 'Book' => {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
34 '_name' => 'book',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
35 'Author' => 'meta/bib/author',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
36 'Title' => 'meta/bib/title',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
37 'Year' => 'meta/bib/year',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
38 'Place_Published' => 'meta/bib/city',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
39 'Publisher' => 'meta/bib/publisher',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
40 'Edition' => 'meta/bib/edition'
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
41 },
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
42 'Journal Article' => {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
43 '_name' => 'journal-article',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
44 'Author' => 'meta/bib/author',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
45 'Title' => 'meta/bib/title',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
46 'Year' => 'meta/bib/year',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
47 'Secondary_Title' => 'meta/bib/journal',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
48 'Volume' => 'meta/bib/volume',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
49 'Number' => 'meta/bib/issue',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
50 'Pages' => 'meta/bib/pages'
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
51 },
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
52 'In Book' => {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
53 '_name' => 'inbook',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
54 'Author' => 'meta/bib/author',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
55 'Title' => 'meta/bib/title',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
56 'Year' => 'meta/bib/year',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
57 'Secondary_Title' => 'meta/bib/book-title',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
58 'Pages' => 'meta/bib/pages'
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
59 },
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
60 'Newspaper Article' => {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
61 '_name' => 'newspaper-article',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
62 'Author' => 'meta/bib/author',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
63 'Title' => 'meta/bib/title',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
64 'Year' => 'meta/bib/year',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
65 'Secondary_Title' => 'meta/bib/newspaper',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
66 'Place_Published' => 'meta/bib/city',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
67 'Number' => 'meta/bib/issue-date',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
68 'Pages' => 'meta/bib/pages'
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
69 },
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
70 'Edited Book' => {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
71 '_name' => 'edited-book',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
72 'Author' => 'meta/bib/editor',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
73 'Title' => 'meta/bib/title',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
74 'Year' => 'meta/bib/year',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
75 'Place_Published' => 'meta/bib/city',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
76 'Publisher' => 'meta/bib/publisher',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
77 'Edition' => 'meta/bib/edition'
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
78 },
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
79 'Manuscript' => {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
80 '_name' => 'manuscript',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
81 'Author' => 'meta/bib/author',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
82 'Title' => 'meta/bib/title',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
83 'Year' => 'meta/bib/year',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
84 'Place_Published' => 'meta/bib/location',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
85 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
86 );
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
87 # language element
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
88 my $lang_field = 'Language';
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
89 # languages to iso codes
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
90 my %lang_map = (
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
91 'German' => 'de',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
92 'English' => 'en',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
93 'Italian' => 'it',
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
94 'French' => 'fr',
13
f33fb7f1898e added mapping for spanish lang
casties
parents: 12
diff changeset
95 'Latin' => 'la',
14
018e7c913b32 lang japanese
casties
parents: 13
diff changeset
96 'Japanese' => 'ja',
13
f33fb7f1898e added mapping for spanish lang
casties
parents: 12
diff changeset
97 'Spanish' => 'es'
12
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
98 );
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
99 # storage fields
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
100 my $arch_id_field = 'ID_Archive';
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
101 my $online_url_field = 'URL';
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
102
13
f33fb7f1898e added mapping for spanish lang
casties
parents: 12
diff changeset
103 #######################################################
f33fb7f1898e added mapping for spanish lang
casties
parents: 12
diff changeset
104 # internal parameters
f33fb7f1898e added mapping for spanish lang
casties
parents: 12
diff changeset
105 #
f33fb7f1898e added mapping for spanish lang
casties
parents: 12
diff changeset
106
f33fb7f1898e added mapping for spanish lang
casties
parents: 12
diff changeset
107 # storage
12
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
108 my $lib_arch_dir = '/mpiwg/archive/data/library';
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
109 my $lib_online_dir = '/mpiwg/online/permanent';
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
110
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
111 # read command line parameters
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
112 my $args = MPIWGStor::parseargs;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
113
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
114 # debug level
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
115 $debug = (exists $$args{'debug'}) ? $$args{'debug'} : 0;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
116
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
117 # use einstein-cw mode
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
118 my $cw_mode = (exists $$args{'cw-mode'}) ? $$args{'cw-mode'} : 0;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
119
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
120 # index.meta namespace (not really implemented!)
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
121 my $namespace = "";
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
122
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
123
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
124 my $xml_changed = 0;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
125 my $errcnt = 0;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
126 my $warncnt = 0;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
127
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
128 #######################################################
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
129 # check parameters that were passed to the program
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
130 #
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
131 my $infile = $$args{'path'};
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
132 if (! $infile) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
133 logger("ABORT", "no input file given!");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
134 exit 1;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
135 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
136 # strip double slashes
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
137 $infile =~ s/\/\//\//;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
138 if (! -f $infile) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
139 logger("ABORT", "input file \'$infile\' doesn't exist!");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
140 exit 1;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
141 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
142
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
143
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
144 #######################################################
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
145 # subroutines
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
146 #
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
147
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
148 sub find_cw_dir {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
149 my ($input_node) = @_;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
150 my $src_dir = find_online_dir($input_node, '/mpiwg/archive/data/library/inbox/zwischen_backup');
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
151 my $dest_id = $input_node->findvalue("fm:$arch_id_field");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
152 if (! $dest_id) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
153 logger('ERROR', "no ID field for einstein-cw entry");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
154 $errcnt++;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
155 return;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
156 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
157 my $dir = "$lib_arch_dir/$dest_id";
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
158 logger('DEBUG', "moving $src_dir to $dir");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
159 if (rename $src_dir, $dir) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
160 if (-d $dir) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
161 logger('DEBUG', "directory $dir OK");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
162 return $dir;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
163 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
164 } else {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
165 logger('ABORT', "unable to rename directory $src_dir to $dir!");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
166 exit 1;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
167 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
168 return;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
169 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
170
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
171 sub find_online_dir {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
172 my ($input_node, $base_dir) = @_;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
173 $base_dir = $lib_online_dir unless ($base_dir);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
174
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
175 my $online_url = $input_node->findvalue("fm:$online_url_field");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
176 if ($online_url =~ /fn=permanent\/(.+)\/pageimg/) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
177 my $online_dir = $1;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
178 #logger("DEBUG", "dir: $base_dir/$online_dir");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
179 my $dir = "$base_dir/$online_dir";
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
180 if (-d $dir) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
181 logger('DEBUG', "directory $dir exists");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
182 return $dir;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
183 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
184 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
185 return;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
186 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
187
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
188 sub find_arch_dir {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
189 my ($input_node) = @_;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
190 my $dir = "";
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
191
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
192 my $bib_dir = $input_node->findvalue("fm:$arch_id_field");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
193 #logger('DEBUG', "bibdir: $bib_dir");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
194 if ($bib_dir) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
195 $dir = "$lib_arch_dir/$bib_dir";
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
196 if (-d $dir) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
197 logger('DEBUG', "directory $dir exists");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
198 return $dir;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
199 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
200 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
201 return;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
202 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
203
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
204
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
205 sub convert_bib {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
206 my ($input_node, $index_root, $index_doc) = @_;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
207 my $cnt = 0;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
208 my $type = "";
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
209 my $type_path = "";
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
210
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
211 # process general stuff first
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
212 foreach my $n ($input_node->getChildNodes()) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
213 my $name = $n->nodeName();
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
214 my $val = $n->textContent();
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
215 #logger('DEBUG', " NODE: $name = '$val'");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
216 if (exists $gen_map{$name}) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
217 # is a general field
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
218 if ($name eq $lang_field) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
219 # language field -> convert to iso code
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
220 if (exists $lang_map{$val}) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
221 $val = $lang_map{$val};
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
222 } else {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
223 logger('ERROR', "unknown language: $val! skipping...");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
224 $errcnt++;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
225 return 0;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
226 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
227 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
228 create_element_path($gen_map{$name}, $index_root, $namespace)
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
229 ->appendTextNode($val);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
230 $cnt++;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
231 } elsif (exists $type_map{$name}) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
232 # is a type field
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
233 $type_path = $type_map{$name};
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
234 $type = $val;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
235 # check with known types
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
236 if (exists $subtype_map{$val}) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
237 my $indextype = $subtype_map{$val}->{'_name'};
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
238 create_element_path("$type_path=$indextype", $index_root, $namespace);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
239 $cnt++;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
240 } else {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
241 logger('ERROR', 'unknown bib type $val! skipping...');
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
242 $errcnt++;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
243 return 0;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
244 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
245 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
246 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
247 # process sub type fields
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
248 if ($type) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
249 foreach my $n ($input_node->getChildNodes()) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
250 my $name = $n->nodeName();
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
251 my $val = $n->textContent();
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
252 #logger('DEBUG', " NODE: $name = '$val'");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
253 if (exists $subtype_map{$type}->{$name}) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
254 create_element_path($subtype_map{$type}->{$name}, $index_root, $namespace)
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
255 ->appendTextNode($val);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
256 $cnt++;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
257 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
258 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
259 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
260 return $cnt;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
261 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
262
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
263
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
264
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
265 sub process_all_fm_entries {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
266 my ($input_root) = @_;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
267 my $cnt = 0;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
268
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
269 foreach my $n ($input_root->findnodes('fm:ROW')) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
270 logger('INFO', "processing entry $cnt ...");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
271 process_fm_entry($n);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
272 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
273 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
274
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
275
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
276 sub process_fm_entry {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
277 my ($input_node) = @_;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
278 my $index_doc = XML::LibXML::Document->createDocument('1.0', 'UTF-8');
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
279 my $index_root = $index_doc->createElementNS($namespace, 'resource');
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
280 $index_root->addChild($index_doc->createAttributeNS($namespace, 'version', '1.1'));
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
281 $index_root->addChild($index_doc->createAttributeNS($namespace, 'type', 'MPIWG'));
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
282 $index_doc->setDocumentElement($index_root);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
283
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
284 # try to find the document directory
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
285 my $doc_dir = "";
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
286 if ($cw_mode) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
287 $doc_dir = find_cw_dir($input_node);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
288 } else {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
289 $doc_dir = find_arch_dir($input_node);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
290 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
291 if (! $doc_dir) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
292 logger('ERROR', "document directory not found! skipping...");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
293 $errcnt++;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
294 return;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
295 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
296
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
297 # add standard stuff to index.meta
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
298 my ($docname, $docpath) = split_file_path($doc_dir);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
299 # name and date
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
300 create_text_path('name', $docname, $index_root, $namespace);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
301 create_text_path('archive-path', $doc_dir, $index_root, $namespace);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
302 create_text_path('archive-creation-date', stime(time), $index_root, $namespace);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
303 create_text_path('creator', 'digigroup', $index_root, $namespace);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
304 create_text_path('description', 'a scanned document', $index_root, $namespace);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
305 # acquisition
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
306 create_text_path('meta/acquisition/date', stime(time), $index_root, $namespace);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
307 create_text_path('meta/acquisition/provider/provider-id', 'digigroup', $index_root, $namespace);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
308 create_text_path('meta/acquisition/provider/address', 'Max Planck Institute for the History of Science', $index_root, $namespace);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
309 # media
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
310 create_text_path('media-type', 'image', $index_root, $namespace);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
311 create_text_path('meta/content-type', 'scanned document', $index_root, $namespace);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
312
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
313 # convert bib entries
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
314 my $cnt = convert_bib($input_node, $index_root, $index_doc);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
315 if ($cnt == 0) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
316 # error or nothing to convert
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
317 logger('ERROR', "no bibliographic metadata!");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
318 $errcnt++;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
319 return;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
320 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
321
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
322 # write new index.meta file
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
323 write_xml($index_doc, "$doc_dir/index.meta");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
324
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
325 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
326
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
327
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
328
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
329
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
330
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
331 #######################################################
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
332 # Main
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
333 #
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
334
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
335 # load filemaker xml dump
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
336 my ($input_doc, $input_root) = read_xml($infile);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
337 # set namespace prefix
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
338 my $fm_namespace = $input_root->namespaceURI();
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
339 $input_root->setNamespace($fm_namespace, 'fm', 1);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
340
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
341 process_all_fm_entries($input_root);
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
342
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
343
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
344 logger("INFO", "$warncnt warnings");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
345 logger("INFO", "$errcnt errors");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
346 if ($errcnt > 0) {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
347 logger("ABORT", "there were errors!");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
348 exit 1;
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
349 } else {
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
350 logger("DONE", "done something successfully!");
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
351 }
620aad237f57 new tool makemeta-lib.pl to create index meta entries from the libraries online sources database
casties
parents:
diff changeset
352