diff options
author | dakkar <dakkar@luxion> | 2006-02-07 16:21:20 +0000 |
---|---|---|
committer | dakkar <dakkar@luxion> | 2006-02-07 16:21:20 +0000 |
commit | 3185eee7fed40526b3c9320ddb52d3b41a966213 (patch) | |
tree | 57a0ede95e19ff97677897a7e4031e0eab210a28 /lib/WebCoso | |
parent | aggiornato Config con i nuovi fh lazy (diff) | |
download | WebCoso-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.pm | 17 |
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 |