aboutsummaryrefslogtreecommitdiff
path: root/lib/WebCoso
diff options
context:
space:
mode:
authordakkar <dakkar@luxion>2006-02-07 16:21:20 +0000
committerdakkar <dakkar@luxion>2006-02-07 16:21:20 +0000
commit3185eee7fed40526b3c9320ddb52d3b41a966213 (patch)
tree57a0ede95e19ff97677897a7e4031e0eab210a28 /lib/WebCoso
parentaggiornato Config con i nuovi fh lazy (diff)
downloadWebCoso-3185eee7fed40526b3c9320ddb52d3b41a966213.tar.gz
WebCoso-3185eee7fed40526b3c9320ddb52d3b41a966213.tar.bz2
WebCoso-3185eee7fed40526b3c9320ddb52d3b41a966213.zip
portato SplitLang ai nuovi fh lazy, e aggiunta gestione chiavi arbitrarie
git-svn-id: svn://luxion/repos/WebCoso/trunk@157 fcb26f47-9200-0410-b104-b98ab5b095f3
Diffstat (limited to 'lib/WebCoso')
-rw-r--r--lib/WebCoso/Step/ReST/SplitLang.pm17
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/WebCoso/Step/ReST/SplitLang.pm b/lib/WebCoso/Step/ReST/SplitLang.pm
index dc60757..cdbc109 100644
--- a/lib/WebCoso/Step/ReST/SplitLang.pm
+++ b/lib/WebCoso/Step/ReST/SplitLang.pm
@@ -22,6 +22,9 @@ Fa tutto alla prima passata
=cut
+my %srckey_of :ATTR(:init_arg<from> :get<srckey> :default<datastream>);
+my %dstkey_of :ATTR(:init_arg<to> :get<dstkey> :default<rstdoc>);
+
my $lang_re=qr{^\s*\.\.\s+lang::(?:\s+(\w+))?\s*$};
sub process {
@@ -29,10 +32,13 @@ sub process {
return unless $stage eq 'meta';
- my $fh=$resource->get_property('datastream');
+ my $srckey=$self->get_srckey();
+ my $dstkey=$self->get_dstkey();
+
+ my $fh=$resource->get_property_fh($srckey);
if (!defined $fh) {
my ($filename)=$resource->get_axis_values('filename');
- $fh=$resource->get_property({filename=>$filename},'datastream');
+ $fh=$resource->get_property_fh({filename=>$filename},$srckey);
}
binmode $fh,':utf8';
@@ -63,12 +69,11 @@ sub process {
}
}
# salvo
- $resource->set_property({language=>$_},rstdoc=>$docs{$_})
+ $resource->set_property({language=>$_},$dstkey=>$docs{$_})
for keys %langs;
}
- else { # monolingua: cat
- local $/;
- $resource->set_property(rstdoc=> scalar <$fh>);
+ else { # monolingua: passa il filehandle
+ $resource->set_property($dstkey=>$fh);
}
# rimetto a posto il filehandle