From ab8177e2b452ae5381bdcd7e91460808f38d075d Mon Sep 17 00:00:00 2001 From: dakkar Date: Tue, 6 Jan 2009 12:25:44 +0000 Subject: ora i feed espandono le pagine (e ri-fissato l'errore dei titoli, cfr r388) git-svn-id: svn://luxion/repos/WebCoso/trunk@399 fcb26f47-9200-0410-b104-b98ab5b095f3 --- lib/File/Cache/Parsed.pm | 2 ++ lib/WebCoso/Common.pm | 2 +- lib/WebCoso/XSLT.pm | 3 ++- t/test-site/src/common/fillFeed.xsl | 21 ++++++++------------- t/test-site/src/feed.it.tt | 14 +++++++------- 5 files changed, 20 insertions(+), 22 deletions(-) diff --git a/lib/File/Cache/Parsed.pm b/lib/File/Cache/Parsed.pm index 34f5aed..280dab7 100644 --- a/lib/File/Cache/Parsed.pm +++ b/lib/File/Cache/Parsed.pm @@ -78,6 +78,8 @@ sub get { $filename=abs_path($filename); } + return unless $filename; + return $self->{cache}{$filename} if exists $self->{cache}{$filename}; my $contents=eval {file($filename)->slurp}; diff --git a/lib/WebCoso/Common.pm b/lib/WebCoso/Common.pm index 30b18fe..5420063 100644 --- a/lib/WebCoso/Common.pm +++ b/lib/WebCoso/Common.pm @@ -86,7 +86,7 @@ sub getTitleFor { my $doc=$fc->get($doc_name); unless ($doc) { LOGWARN("No document for <$doc_name>, returning <$name>"); - return $name; + return "$name"; # force it to a string, since it might be an XML Node } my $title=$xpath->findnodes( q{/document/title}, diff --git a/lib/WebCoso/XSLT.pm b/lib/WebCoso/XSLT.pm index 40c945b..cc64cfb 100644 --- a/lib/WebCoso/XSLT.pm +++ b/lib/WebCoso/XSLT.pm @@ -24,7 +24,8 @@ sub new { $self->{xslt_proc}->register_function($NS,'dates-for', sub{$self->getDatesXML(WebCoso::Common::getDatesFor($self->{fc},@_))}); $self->{xslt_proc}->register_function($NS,'document', - sub{$self->{fc}->get(WebCoso::Common::srcXMLFor(@_))}); + sub{$self->{fc}->get(WebCoso::Common::srcXMLFor(@_)) + || XML::LibXML::Document->new('1.0','utf-8')}); $self->{xslt_proc}->register_function($NS,'message', sub{DEBUG($_[0],' ',$_[1]->get_node(0)->toString());return ''}); $self->{xslt_proc}->debug_callback(sub{DEBUG(@_)}); diff --git a/t/test-site/src/common/fillFeed.xsl b/t/test-site/src/common/fillFeed.xsl index 79c7b57..5ba0d76 100644 --- a/t/test-site/src/common/fillFeed.xsl +++ b/t/test-site/src/common/fillFeed.xsl @@ -1,6 +1,7 @@ @@ -12,29 +13,23 @@ - - - - - + - + - - - <x:value-of select="wc:title-for($language,$filename,.)"/> - + \ No newline at end of file diff --git a/t/test-site/src/feed.it.tt b/t/test-site/src/feed.it.tt index 398eaf3..72d20be 100644 --- a/t/test-site/src/feed.it.tt +++ b/t/test-site/src/feed.it.tt @@ -3,12 +3,12 @@ locale => 'en_US', time_zone => 'GMT' }) -%] - + [% FOR c IN changed -%] - - [% IF c.value.creation %][% df.format(c.value.creation) %][% END %] - [% IF c.value.last_change %][% df.format(c.value.last_change) %][% END %] - [% dstUriFor(c.key) %] - + + [% IF c.value.creation %][% df.format(c.value.creation) %][% END %] + [% IF c.value.last_change %][% df.format(c.value.last_change) %][% END %] + [% dstUriFor(c.key) %] + [% END -%] - + -- cgit v1.2.3