From: Egon W. <eg...@us...> - 2004-01-14 13:27:16
|
Update of /cvsroot/woc/woc/data/wml In directory sc8-pr-cvs1:/tmp/cvs-serv27630 Added Files: splitwoclist.pl.in syncwoclist.pl.in woclist.pl.in Removed Files: splitwoclist.pl syncwoclist.pl woclist.pl Log Message: Use configure to set path to perl --- NEW FILE: splitwoclist.pl.in --- #! @PATHTOPERL@ use strict; use diagnostics; # Author: Geert Josten # hulp-script gebruikt door wocml.sh my $infile; my $outdir; my $outfile; if (@ARGV >= 2) { $infile = shift; $outdir = shift; } else { $infile = "woclist.xml"; $outdir = "tmp/"; } open (INFILE, "$infile"); my $inheader = 1; my $fileisopen = 0; my $incml = 0; my $header = ""; while (<INFILE>) { my $file; if (/DOCTYPE woclist/i) { s#<!DOCTYPE woclist.*>#<!DOCTYPE ITEM PUBLIC \"-//www-woc.sci.kun.nl//DTD WOC Markup Language V1.0//EN\" \"http://www-woc.sci.kun.nl/wocml.dtd\">#i; $header .= $_; } elsif (/<woclist/i) { $inheader = 0; $fileisopen = 0; } elsif (/<ITEM.*?FILE=\"(.*?)\"/i) { # print OUTFILE "\n" if $fileisopen; my $outfile = $outdir.$1.".xml"; s/FILE/CODE/i; if (open (OUTFILE, ">$outfile")) { $fileisopen = 1; print OUTFILE $header; print OUTFILE; } else { warn "Cannot write to file $outfile!\n"; $fileisopen = 0; } $inheader = 0; } elsif (/<\/woclist/i) { } elsif (/(.*?)<!-- \[(INSERT.*?)\](.*?)\[(\/INSERT)\] -->(.*)/i) { print OUTFILE "$1<$2>$3<$4>$5\n"; $incml = 1; } elsif (/<\/molecule/i) { $incml = 0; } elsif ($inheader) { $header .= $_ } else { print OUTFILE if $fileisopen && ! $incml; } } # zoals in Convert.java sub NAMELikeToANCHORLike { # heeft 1 parameter my $param = shift @_; $param =~ s/^\s*(.*?)\s*$/$1/ig; $param =~ s/\ /\_/g; $param =~ s/[,|.|<|>]//g; $param =~ tr/[A-Z]/[a-z]/; return $param; } --- NEW FILE: syncwoclist.pl.in --- #! @PATHTOPERL@ use strict; use diagnostics; # Author: Geert Josten # hulp-script gebruikt door wocml.sh my $newdir; my $orgdir; if (@ARGV >= 2) { $newdir = shift; $orgdir = shift; } else { $newdir = "tmp/"; $orgdir = "../../../../share/woc/data/wml/"; } my @newfiles = glob $newdir."*.xml"; foreach my $newfile (@newfiles) { my $orgfile = $newfile; $orgfile =~ s/^$newdir//; my $subdir = (substr $orgfile, 0, 1)."/"; $subdir =~ s/[0-9]/123/; $orgfile = $orgdir.$subdir.$orgfile; if (-s $orgfile) { my $diff = `diff $newfile $orgfile`; if ($diff) { warn "Original file different from $newfile!\n"; } } else { warn "Original file $orgfile of $newfile not found!\n"; } } --- NEW FILE: woclist.pl.in --- #! @PATHTOPERL@ use strict; use diagnostics; # Author: Geert Josten # hulp-script gebruikt door wocml.sh #my $cmldir="../../data/dadml/physicalprop/cml"; my $cmldir="../../../../share/woc/data/dadml/physicalprop/cml"; my $infile; my $outfile; if (@ARGV >= 2) { $infile = shift; $outfile = shift; } else { $infile = "woclist.tmp2.xml"; $outfile = "woclist.xml"; } open (INFILE, "$infile"); open (OUTFILE, ">$outfile"); #print eerste regel alvast $_ = <INFILE>; print OUTFILE; while (<INFILE>) { my $file; if (/ITEM.*?CODE=/i) { s/CODE/FILE/i; print OUTFILE; } elsif (/INSERT.*PhysicalProperties.*>(.*)</i) { my @inserts = `awk '/<molecule/,/<\\/molecule/{print " ",\$0}' $cmldir/$1`; s/<(INSERT.*?)>(.*?)<\/INSERT>/<!-- \[$1\]$2\[\/INSERT\] -->/i; print OUTFILE; foreach my $insert (@inserts) { if ($insert =~ /^(.*Stoichiometry.*>)(.*)(<.*)$/i) { my $pre = $1; my $bruto = $2; my $brutoID = $2; my $post = $3; $bruto =~ s/(\d+)/<sub>$1<\/sub>/ig; print OUTFILE $pre,$bruto,$post,$/; $pre =~ s/Stoichiometry/StoichiometryID/i; $brutoID =~ s/(\d+)/{$1}/ig; while ($brutoID =~ /\{(\d+?)\}/) { my $number = sprintf "%04i", $1; $brutoID =~ s/\{\d+?\}/$number/; } print OUTFILE $pre,$brutoID,$post,$/; } else { print OUTFILE $insert; } } } elsif (/\<\?xml.*\?\>/i) { s/\<\?xml.*\?\>//i; print OUTFILE; } else { print OUTFILE; } } # zoals in Convert.java sub NAMELikeToANCHORLike { # heeft 1 parameter my $param = shift @_; $param =~ s/^\s*(.*?)\s*$/$1/ig; $param =~ s/\ /\_/g; $param =~ s/[,|.|<|>]//g; $param =~ tr/[A-Z]/[a-z]/; return $param; } --- splitwoclist.pl DELETED --- --- syncwoclist.pl DELETED --- --- woclist.pl DELETED --- |