Changeset 1479
- Timestamp:
- 08/20/06 16:30:27
- Files:
-
- trunk/plagger/lib/Plagger/ConfigLoader.pm (modified) (2 diffs)
- trunk/plagger/lib/Plagger/Plugin/Subscription/Planet.pm (modified) (2 diffs)
- trunk/plagger/lib/Plagger/Walker.pm (modified) (1 diff)
- trunk/plagger/t/core/config-utf8.t (added)
- trunk/plagger/t/plugins/Filter-2chNewsokuTitle/base.t (modified) (1 diff)
- trunk/plagger/t/plugins/Filter-Babelfish/babelfish.t (modified) (1 diff)
- trunk/plagger/t/plugins/Filter-BlogPet/base.t (modified) (1 diff)
- trunk/plagger/t/plugins/Filter-BreakEntriesToFeeds/break.t (modified) (1 diff)
- trunk/plagger/t/plugins/Filter-GuessLanguage/guesslanguage.t (modified) (1 diff)
- trunk/plagger/t/plugins/UserAgent-RequestHeader/printenv.t (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plagger/lib/Plagger/ConfigLoader.pm
r1391 r1479 2 2 use strict; 3 3 use Carp; 4 use Plagger::Walker; 4 5 5 6 sub new { … … 21 22 } else { 22 23 croak "Plagger::ConfigLoader->load: $stuff: $!"; 24 } 25 26 unless ($config->{global} && $config->{global}->{no_decode_utf8}) { 27 Plagger::Walker->decode_utf8($config); 23 28 } 24 29 trunk/plagger/lib/Plagger/Plugin/Subscription/Planet.pm
r1173 r1479 8 8 sub load { 9 9 my($self, $context) = @_; 10 11 my $keyword = $self->conf->{keyword};12 $keyword = [ $keyword ] unless ref $keyword;13 10 14 11 my $lang = $self->conf->{lang} || 'default'; … … 24 21 ); 25 22 26 for my $kw (@$keyword) { 27 for my $site (@{ $self->{engines} }) { 28 my $site_url = $site; # copy 23 for my $site (@{ $self->{engines} }) { 24 my $site_url = $site; # copy 29 25 30 # use eval ... die to skip if there's no url/keyword31 eval {32 $site_url =~ s{{([\w\-\:]+)}}{33 my($key, $encoding) = split /:/, $1;26 # use eval ... die to skip if there's no url/keyword 27 eval { 28 $site_url =~ s{{([\w\-\:]+)}}{ 29 my($key, $encoding) = split /:/, $1; 34 30 35 my $data = $self->conf->{$key} or die "$key is not there"; 36 if ($encoding && $encoding ne 'utf-8') { 37 Encode::from_to($data, "utf-8" => $encoding); 38 } 31 my $data = $self->conf->{$key} or die "$key is not there"; 32 if ($encoding && $encoding ne 'utf-8') { 33 $data = Encode::encode($encoding, $data); 34 } else { 35 $data = Encode::encode_utf8($data); 36 } 39 37 40 my $chunk = URI::Escape::uri_escape($data); 41 $chunk =~ s/%20/+/g; # hack 42 $chunk; 43 }eg; 44 push @{$self->conf->{feed}}, { url => $site_url } 45 }; 46 } 38 my $chunk = URI::Escape::uri_escape($data); 39 $chunk =~ s/%20/+/g; # hack 40 $chunk; 41 }eg; 42 push @{$self->conf->{feed}}, { url => $site_url } 43 }; 47 44 } 48 45 trunk/plagger/lib/Plagger/Walker.pm
r1389 r1479 12 12 13 13 *isa = \&UNIVERSAL::isa; 14 15 sub decode_utf8 { 16 my($self, $stuff) = @_; 17 $self = $self->new( apply_keys => 1 ) unless ref $self; 18 $self->apply(sub { $_[0] = Encode::decode_utf8($_[0]) unless utf8::is_utf8($_[0]) })->($stuff); 19 } 14 20 15 21 sub apply($&;@) { trunk/plagger/t/plugins/Filter-2chNewsokuTitle/base.t
r1424 r1479 1 1 use strict; 2 use utf8; 2 3 use t::TestPlagger; 3 use utf8;4 4 5 5 test_plugin_deps; trunk/plagger/t/plugins/Filter-Babelfish/babelfish.t
r1467 r1479 1 1 use strict; 2 use utf8; 2 3 use FindBin; 3 4 use t::TestPlagger; 4 use utf8;5 5 6 6 test_plugin_deps; trunk/plagger/t/plugins/Filter-BlogPet/base.t
r1425 r1479 1 1 use strict; 2 2 use t::TestPlagger; 3 use utf8;4 3 5 4 test_plugin_deps; trunk/plagger/t/plugins/Filter-BreakEntriesToFeeds/break.t
r1305 r1479 1 use utf8; 1 2 use t::TestPlagger; 2 use utf8;3 3 4 4 plan 'no_plan'; trunk/plagger/t/plugins/Filter-GuessLanguage/guesslanguage.t
r1283 r1479 2 2 use FindBin; 3 3 use t::TestPlagger; 4 use utf8;5 4 6 5 test_plugin_deps; trunk/plagger/t/plugins/UserAgent-RequestHeader/printenv.t
r1307 r1479 1 1 use t::TestPlagger; 2 use utf8;3 2 4 3 test_plugin_deps('Filter-EntryFullText', 1);
