--- loncom/publisher/lonpublisher.pm 2000/11/30 23:01:41 1.7
+++ loncom/publisher/lonpublisher.pm 2000/12/01 12:08:01 1.8
@@ -5,7 +5,7 @@
#
# 05/29/00,05/30,10/11 Gerd Kortemeyer)
#
-# 11/28,11/29,11/30 Gerd Kortemeyer
+# 11/28,11/29,11/30,12/01 Gerd Kortemeyer
package Apache::lonpublisher;
@@ -46,7 +46,10 @@ sub metaeval {
}
} @{$token->[3]};
if ($metadatafields{$unikey}) {
- $metadatafields{$unikey}.=','.$parser->get_text('/'.$entry);
+ my $newentry=$parser->get_text('/'.$entry);
+ unless ($metadatafields{$unikey}=~/$newentry/) {
+ $metadatafields{$unikey}.=', '.$newentry;
+ }
} else {
$metadatafields{$unikey}=$parser->get_text('/'.$entry);
}
@@ -70,6 +73,12 @@ sub metaread {
return '
Processed file: '.$fn.'';
}
+sub textfield {
+ my ($title,$value)=@_;
+ return "\n
$title:
".
+ '';
+}
+
sub publish {
my ($source,$target,$style)=@_;
@@ -201,15 +210,19 @@ sub publish {
# ---------------------------------------- Storage for metadata keys and fields
- %metadatafields=();
- %metadatakeys=();
+ %metadatafields=();
+ %metadatakeys=();
+
+ my %oldparmstores=();
# ------------------------------------------------ First, check out environment
-
+ unless (-e $source.'.meta') {
$metadatafields{'author'}=$ENV{'environment.firstname'}.' '.
$ENV{'environment.middlename'}.' '.
$ENV{'environment.lastname'}.' '.
$ENV{'environment.generation'};
+ $metadatafields{'author'}=~s/\s+/ /g;
+ $metadatafields{'author'}=~s/\s+$//;
# ------------------------------------------------ Check out directory hierachy
@@ -234,10 +247,10 @@ sub publish {
}
} keys %metadatafields;
+ } else {
# ---------------------- Read previous metafile, remember parameters and stores
$scrout.=&metaread($logfile,$source.'.meta');
- my %oldparmstores=();
map {
if (($_=~/^parameter/) || ($_=~/^stores/)) {
@@ -246,7 +259,7 @@ sub publish {
}
} keys %metadatafields;
-
+ }
# -------------------------------------------------- Parse content for metadata
@@ -290,13 +303,19 @@ sub publish {
$chparms;
}
-# DEBUG:
+# ------------------------------------------------------- Now have all metadata
- $scrout.=$allmeta;
+ $scrout.=
+ '