Diff for /foxridge-archiver/makemeta-lib.pl between versions 1.5 and 1.6

version 1.5, 2005/08/23 15:01:08 version 1.6, 2005/08/31 10:50:00
Line 10  use MPIWGStor; Line 10  use MPIWGStor;
 $|=1;  $|=1;
   
 # program version  # program version
 my $version = "0.2.1 (15.8.2005)";  my $version = "0.2.2 (31.8.2005 ROC)";
 my $help =   my $help = 
 "use: makemeta-lib [options] file.xml  "use: makemeta-lib [options] file.xml
 options:  options:
   -debug  show debugging info    -debug  show debugging info
   -dry-run  simulate, dont'do anything    -dry-run  simulate, dont'do anything
   -cw-mode  mode for copying einstein_cq documents    -online-mode  mode for creating online/permanent files
     -cw-mode  mode for copying einstein_cw archive documents
   -digifiles-mode  mode for copying files from digifiles    -digifiles-mode  mode for copying files from digifiles
   -map-file=mapfile.xml  digilib mapping file (for digifiles mode)    -map-file=mapfile.xml  digilib mapping file (for digifiles mode)
 ";  ";
Line 135  $debug = (exists $$args{'debug'}) ? $$ar Line 136  $debug = (exists $$args{'debug'}) ? $$ar
 my $dry_run = (exists $$args{'dry-run'}) ? $$args{'dry-run'} : 0;  my $dry_run = (exists $$args{'dry-run'}) ? $$args{'dry-run'} : 0;
 logger('DEBUG', "dry-run: $dry_run");  logger('DEBUG', "dry-run: $dry_run");
   
   # use online mode
   my $online_mode = (exists $$args{'online-mode'}) ? $$args{'online-mode'} : 0;
   logger('DEBUG', "online_mode: $online_mode");
   
 # use einstein-cw mode  # use einstein-cw mode
 my $cw_mode = (exists $$args{'cw-mode'}) ? $$args{'cw-mode'} : 0;  my $cw_mode = (exists $$args{'cw-mode'}) ? $$args{'cw-mode'} : 0;
 logger('DEBUG', "cw_mode: $cw_mode");  logger('DEBUG', "cw_mode: $cw_mode");
Line 266  sub find_cw_dir { Line 271  sub find_cw_dir {
     return;      return;
 }  }
   
   sub find_permanent_dir {
       my ($input_node) = @_;
       my $online_base = '/mpiwg/online/permanent';
       my $src_dir = find_online_dir($input_node, $online_base, 'pageimg');
       my $dest_id = sstrip($input_node->findvalue("fm:$online_id_field"));
       if (! $dest_id) {
       logger('ERROR', "no ID field for online permanent entry");
       $errcnt++;
       return;
       }
       my $dir = "$online_base/$src_dir";
       return $dir;
   }
   
 #  #
 # $dir = find_online_dir($input_node, $base_dir, $page_dir)  # $dir = find_online_dir($input_node, $base_dir, $page_dir)
 #  #
Line 289  sub find_online_dir { Line 308  sub find_online_dir {
     }      }
     #logger('DEBUG', "online_dir1: $online_dir");      #logger('DEBUG', "online_dir1: $online_dir");
     if ($online_dir) {      if ($online_dir) {
       $online_dir =~ s/\/$//; # strip ending slashes
     if ($page_dir) {      if ($page_dir) {
       $online_dir =~ s/\/${page_dir}$//;        $online_dir =~ s/\/${page_dir}$//;
     }      }
Line 400  sub process_fm_entry { Line 420  sub process_fm_entry {
   
     # try to find the document directory      # try to find the document directory
     my $doc_dir = "";      my $doc_dir = "";
     if ($cw_mode) {      if ($online_mode) {
       $doc_dir = find_permanent_dir($input_node);
       } elsif ($cw_mode) {
     $doc_dir = find_cw_dir($input_node);      $doc_dir = find_cw_dir($input_node);
     } elsif ($digifiles_mode) {      } elsif ($digifiles_mode) {
     $doc_dir = find_digifiles_dir($input_node);      $doc_dir = find_digifiles_dir($input_node);

Removed from v.1.5  
changed lines
  Added in v.1.6


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>