Changeset 1389
- Timestamp:
- 08/19/06 15:26:33
- Files:
-
- trunk/plagger/lib/Plagger/Plugin/Aggregator/Simple.pm (modified) (1 diff)
- trunk/plagger/lib/Plagger/Plugin/Publish/JSON.pm (modified) (2 diffs)
- trunk/plagger/lib/Plagger/Util.pm (modified) (2 diffs)
- trunk/plagger/lib/Plagger/Walker.pm (modified) (1 diff)
- trunk/plagger/t/plugins/Filter-DeliciousFeedTags/base.t (modified) (1 diff)
- trunk/plagger/t/plugins/Publish-Serializer (added)
- trunk/plagger/t/plugins/Publish-Serializer/base.t (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plagger/lib/Plagger/Plugin/Aggregator/Simple.pm
r1333 r1389 112 112 $feed->author(_u($remote->author)); 113 113 $feed->updated($remote->modified); 114 115 Encode::_utf8_on($$xml_ref); 114 116 $feed->source_xml($$xml_ref); 115 117 trunk/plagger/lib/Plagger/Plugin/Publish/JSON.pm
r1386 r1389 23 23 24 24 local $JSON::Syck::ImplicitUnicode = 1; 25 my $body = JSON::Syck::Dump(Plagger::Walker->serialize($args->{feed} ->clone));25 my $body = JSON::Syck::Dump(Plagger::Walker->serialize($args->{feed})); 26 26 27 27 if (my $var = $self->conf->{varname}) { … … 30 30 $body = "$jsonp($body)"; 31 31 } 32 33 $context->log(info => "Serializing " . $args->{feed}->id . " to $path"); 32 34 33 35 open my $out, ">:utf8", $path or $context->error("$path: $!"); trunk/plagger/lib/Plagger/Util.pm
r1382 r1389 2 2 use strict; 3 3 our @ISA = qw(Exporter); 4 our @EXPORT_OK = qw( strip_html dumbnail decode_content extract_title load_uri mime_type_of );4 our @EXPORT_OK = qw( strip_html dumbnail decode_content extract_title load_uri mime_type_of filename_for ); 5 5 6 6 use Encode (); … … 161 161 } 162 162 163 my %formats = ( 164 'u' => sub { my $s = $_[0]->url; $s =~ s!^https?://!!; $s }, 165 'l' => sub { my $s = $_[0]->link; $s =~ s!^https?://!!; $s }, 166 't' => sub { $_[0]->title }, 167 'i' => sub { $_[0]->id }, 168 ); 169 170 my $format_re = qr/%(u|l|t|i)/; 171 172 sub filename_for { 173 my($feed, $file) = @_; 174 $file =~ s{$format_re}{ 175 safe_filename($formats{$1}->($feed)) 176 }egx; 177 $file; 178 } 179 180 sub safe_filename { 181 my($path) = @_; 182 $path =~ s![^\w\s]+!_!g; 183 $path =~ s!\s+!_!g; 184 $path; 185 } 186 163 187 1; trunk/plagger/lib/Plagger/Walker.pm
r1386 r1389 84 84 return wantarray ? @retval : $retval[0]; 85 85 }; 86 $curry->($stuff );86 $curry->($stuff->clone); 87 87 } 88 88 trunk/plagger/t/plugins/Filter-DeliciousFeedTags/base.t
r1384 r1389 2 2 use t::TestPlagger; 3 3 4 test_requires_network('del.icio.us:80'); 4 5 test_plugin_deps; 5 6 plan 'no_plan';
