Changeset 1794

Show
Ignore:
Timestamp:
03/06/06 10:19:31
Author:
miyagawa
Message:

0.11; liberal support

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • WebService-Bloglines/trunk/Changes

    r1790 r1794  
    11Revision history for Perl extension WebService::Bloglines 
     2 
     30.11  2006-03-06T01:18:43Z 
     4        - Added use_liberal option to use XML::Liberal to work with bad XML 
    25 
    360.10  2006-03-01T10:37:38Z 
  • WebService-Bloglines/trunk/META.yml

    r1791 r1794  
    22#XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX# 
    33name:         WebService-Bloglines 
    4 version:      0.10 
     4version:      0.11 
    55version_from: lib/WebService/Bloglines.pm 
    66installdirs:  site 
     
    88    LWP:                           0 
    99    Test::More:                    0.32 
     10    XML::Liberal:                  0.02 
    1011    XML::RSS::LibXML:              0.09 
    1112 
  • WebService-Bloglines/trunk/Makefile.PL

    r1790 r1794  
    88        LWP => 0, 
    99        XML::RSS::LibXML => 0.09, 
     10        XML::Liberal => 0.02, 
    1011    }, 
    1112); 
  • WebService-Bloglines/trunk/lib/WebService/Bloglines.pm

    r1791 r1794  
    33use strict; 
    44use 5.8.1; 
    5 our $VERSION = '0.10'; 
     5our $VERSION = '0.11'; 
    66 
    77use LWP::UserAgent; 
     
    2020} 
    2121 
     22sub username    { shift_var('username', @_) } 
     23sub password    { shift->_var('password', @_) } 
     24sub use_liberal { shift->_var('use_liberal', @_) } 
     25 
     26sub _var { 
     27    my $self = shift; 
     28    my $key  = shift; 
     29    $self->{$key} = shift if @_; 
     30    $self->{$key}; 
     31} 
     32 
    2233sub _die { 
    2334    my($self, $message) = @_; 
     
    89100    } 
    90101 
    91     return WebService::Bloglines::Entries->parse($res->content); 
     102    return WebService::Bloglines::Entries->parse($res->content, $self->use_liberal); 
    92103} 
    93104 
     
    106117      username => $username, 
    107118      password => $password, # password is optional for notify() 
     119      use_liberal => 1, 
    108120  ); 
    109121 
  • WebService-Bloglines/trunk/lib/WebService/Bloglines/Entries.pm

    r1790 r1794  
    55 
    66use strict; 
     7use Carp; 
    78use Encode; 
    89use XML::RSS::LibXML; 
     
    1011 
    1112sub parse { 
    12     my($class, $xml) = @_; 
     13    my($class, $xml, $liberal) = @_; 
    1314 
    1415    # temporary workaround till Bloglines fixes this bug 
     
    2021    $xml = Encode::encode('utf-8', $xml); 
    2122 
    22     my $parser = XML::LibXML->new; 
     23    my $parser; 
     24    if ($liberal) { 
     25        eval { require XML::Liberal }; 
     26        if ($@) { 
     27            croak "XML::Liberal is not installed: $@"; 
     28        } 
     29        $parser = XML::Liberal->new('LibXML'); 
     30    } else { 
     31        $parser = XML::LibXML->new; 
     32    } 
     33 
    2334    my $doc    = $parser->parse_string($xml); 
    2435    my $rssparent   = $doc->find("/rss")->get_node(0);