Add ability to convert with fields that have multiple values
Simon Wistow [Wed, 17 Dec 2008 23:52:41 +0000 (23:52 +0000)]
lib/XML/Feed.pm
lib/XML/Feed/Entry.pm

index bc1bf57..75e21cb 100644 (file)
@@ -121,9 +121,9 @@ sub convert {
     my($format) = @_;
     my $new = XML::Feed->new($format);
     for my $field (qw( title link description language author copyright modified generator )) {
-        my $val = $feed->$field();
-        next unless defined $val;
-        $new->$field($val);
+        my @values = $feed->$field();
+        next unless @values && defined $values[0];
+        $new->$field(@values);
     }
     for my $entry ($feed->entries) {
         $new->add_entry($entry->convert($format));
index f2fadb2..9cce50e 100644 (file)
@@ -35,10 +35,10 @@ sub convert {
     my($format) = @_;
     my $new = __PACKAGE__->new($format);
     for my $field (qw( title link content summary category author id issued modified lat long )) {
-        my $val = $entry->$field();
-        next unless defined $val;
-        next if blessed $val && $val->isa('XML::Feed::Content') && ! defined $val->body;
-        $new->$field($val);
+        my @values = $entry->$field();
+        next unless @values && defined $values[0];
+        next if blessed $values[0] && $values[0]->isa('XML::Feed::Content') && ! defined $values[0]->body;
+        $new->$field(@values);
     }
     $new;
 }