Changeset 28639 for main/trunk/greenstone2/bin/script/import.pl
- Timestamp:
- 2013-11-19T11:14:59+13:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/bin/script/import.pl
r28077 r28639 79 79 use util; 80 80 81 my $oidtype_list =82 [ { 'name' => "hash",83 'desc' => "{import.OIDtype.hash}" },84 { 'name' => "hash_on_full_filename",85 'desc' => "{import.OIDtype.hash_on_full_filename}" },86 { 'name' => "assigned",87 'desc' => "{import.OIDtype.assigned}" },88 { 'name' => "incremental",89 'desc' => "{import.OIDtype.incremental}" },90 { 'name' => "filename",91 'desc' => "{import.OIDtype.filename}" },92 { 'name' => "dirname",93 'desc' => "{import.OIDtype.dirname}" },94 { 'name' => "full_filename",95 'desc' => "{import.OIDtype.full_filename}" } ];96 81 97 82 … … 126 111 [ 127 112 $saveas_argument, 128 { 'name' => "archivedir", 129 'desc' => "{import.archivedir}", 130 'type' => "string", 131 'reqd' => "no", 132 'hiddengli' => "yes" }, 133 { 'name' => "importdir", 134 'desc' => "{import.importdir}", 135 'type' => "string", 136 'reqd' => "no", 137 'hiddengli' => "yes" }, 138 { 'name' => "collectdir", 139 'desc' => "{import.collectdir}", 140 'type' => "string", 141 # parsearg left "" as default 142 #'deft' => &FileUtils::filenameConcatenate($ENV{'GSDLHOME'}, "collect"), 143 'deft' => "", 144 'reqd' => "no", 145 'hiddengli' => "yes" }, 146 { 'name' => "site", 147 'desc' => "{import.site}", 148 'type' => "string", 149 'deft' => "", 150 'reqd' => "no", 151 'hiddengli' => "yes" }, 152 { 'name' => "manifest", 153 'desc' => "{import.manifest}", 154 'type' => "string", 155 'deft' => "", 156 'reqd' => "no", 157 'hiddengli' => "yes" }, 158 { 'name' => "debug", 159 'desc' => "{import.debug}", 160 'type' => "flag", 161 'reqd' => "no", 162 'hiddengli' => "yes" }, 163 { 'name' => "faillog", 164 'desc' => "{import.faillog}", 165 'type' => "string", 166 # parsearg left "" as default 167 #'deft' => &FileUtils::filenameConcatenate("<collectdir>", "colname", "etc", "fail.log"), 168 'deft' => "", 169 'reqd' => "no", 170 'modegli' => "3" }, 171 { 'name' => "incremental", 172 'desc' => "{import.incremental}", 173 'type' => "flag", 174 'hiddengli' => "yes" }, 175 { 'name' => "keepold", 176 'desc' => "{import.keepold}", 177 'type' => "flag", 178 'reqd' => "no", 179 'hiddengli' => "yes" }, 180 { 'name' => "removeold", 181 'desc' => "{import.removeold}", 182 'type' => "flag", 183 'reqd' => "no", 184 'hiddengli' => "yes" }, 185 { 'name' => "language", 186 'desc' => "{scripts.language}", 187 'type' => "string", 188 'reqd' => "no", 189 'hiddengli' => "yes" }, 190 { 'name' => "maxdocs", 191 'desc' => "{import.maxdocs}", 192 'type' => "int", 193 'reqd' => "no", 194 # parsearg left "" as default 195 #'deft' => "-1", 196 'range' => "1,", 197 'modegli' => "1" }, 198 # don't set the default to hash - want to allow this to come from 199 # entry in collect.cfg but want to override it here 200 { 'name' => "OIDtype", 201 'desc' => "{import.OIDtype}", 202 'type' => "enum", 203 'list' => $oidtype_list, 204 # parsearg left "" as default 205 #'deft' => "hash", 206 'reqd' => "no", 207 'modegli' => "2" }, 208 { 'name' => "OIDmetadata", 209 'desc' => "{import.OIDmetadata}", 210 'type' => "string", 211 #'type' => "metadata", #doesn't work properly in GLI 212 # parsearg left "" as default 213 #'deft' => "dc.Identifier", 214 'reqd' => "no", 215 'modegli' => "2" }, 216 { 'name' => "out", 217 'desc' => "{import.out}", 218 'type' => "string", 219 'deft' => "STDERR", 220 'reqd' => "no", 221 'hiddengli' => "yes" }, 222 { 'name' => "sortmeta", 113 { 'name' => "sortmeta", 223 114 'desc' => "{import.sortmeta}", 224 115 'type' => "string", … … 244 135 'reqd' => "no", 245 136 'modegli' => "2" }, 137 { 'name' => "archivedir", 138 'desc' => "{import.archivedir}", 139 'type' => "string", 140 'reqd' => "no", 141 'hiddengli' => "yes" }, 142 @$inexport::directory_arguments, 246 143 { 'name' => "gzip", 247 144 'desc' => "{import.gzip}", … … 249 146 'reqd' => "no", 250 147 'modegli' => "3" }, 251 { 'name' => "statsfile", 252 'desc' => "{import.statsfile}", 253 'type' => "string", 254 'deft' => "STDERR", 255 'reqd' => "no", 256 'hiddengli' => "yes" }, 257 { 'name' => "verbosity", 258 'desc' => "{import.verbosity}", 259 'type' => "int", 260 'range' => "0,", 261 # parsearg left "" as default 262 # 'deft' => "2", 263 'reqd' => "no", 264 'modegli' => "3" }, 265 { 'name' => "gli", 266 'desc' => "{scripts.gli}", 267 'type' => "flag", 268 'reqd' => "no", 269 'hiddengli' => "yes" }, 270 { 'name' => "xml", 271 'desc' => "{scripts.xml}", 272 'type' => "flag", 273 'reqd' => "no", 274 'hiddengli' => "yes" }]; 148 @$inexport::arguments 149 ]; 275 150 276 151 my $options = { 'name' => "import.pl", … … 337 212 my ($config_filename,$collect_cfg) = $inexport->read_collection_cfg($collection,$options); 338 213 339 $inexport->set_collection_options($collect_cfg); 214 #$inexport->set_collection_options($collect_cfg); 215 &set_collection_options($inexport, $collect_cfg); 340 216 341 217 my $pluginfo = $inexport->process_files($config_filename,$collect_cfg); … … 400 276 # _scanForInExportModules() 401 277 278 # look up collect.cfg for import options, then all inexport version for the 279 # common ones 280 sub set_collection_options 281 { 282 283 my ($inexport, $collectcfg) = @_; 284 285 #groupsize can (currently) only be defined for import, not export, and 286 # will be set to 1 if the user has not set it 287 if ((defined $inexport->{'groupsize'}) && ($inexport->{'groupsize'} == 1)) { 288 if (defined $collectcfg->{'groupsize'} && $collectcfg->{'groupsize'} =~ /\d+/) { 289 $inexport->{'groupsize'} = $collectcfg->{'groupsize'}; 290 } 291 } 292 293 if (!defined $inexport->{'saveas'}) { 294 if (defined $collectcfg->{'saveas'} 295 && $collectcfg->{'saveas'} =~ /^(GreenstoneXML|GreenstoneMETS)$/) { 296 $inexport->{'saveas'} = $collectcfg->{'saveas'}; 297 } else { 298 $inexport->{'saveas'} = "GreenstoneXML"; # the default 299 } 300 } 301 302 my $sortmeta = $inexport->{'sortmeta'}; 303 if (defined $collectcfg->{'sortmeta'} && (!defined $sortmeta || $sortmeta eq "")) { 304 $sortmeta = $collectcfg->{'sortmeta'}; 305 } 306 # sortmeta cannot be used with group size 307 $sortmeta = undef unless defined $sortmeta && $sortmeta =~ /\S/; 308 if (defined $sortmeta && $inexport->{'groupsize'} > 1) { 309 &gsprintf($out, "{import.cannot_sort}\n\n"); 310 $sortmeta = undef; 311 } 312 if (defined $sortmeta) { 313 &gsprintf($out, "{import.sortmeta_paired_with_ArchivesInfPlugin}\n\n"); 314 } 315 $inexport->{'sortmeta'} = $sortmeta; 316 317 if (defined $collectcfg->{'removeprefix'} && $inexport->{'removeprefix'} eq "") { 318 $inexport->{'removeprefix'} = $collectcfg->{'removeprefix'}; 319 } 320 321 if (defined $collectcfg->{'removesuffix'} && $inexport->{'removesuffix'} eq "") { 322 $inexport->{'removesuffix'} = $collectcfg->{'removesuffix'}; 323 } 324 325 $inexport->set_collection_options($collectcfg); 326 327 } 402 328 &main();
Note:
See TracChangeset
for help on using the changeset viewer.