Issue #1110762 by vaartio, franz, bancarddata, axel.rutz: Fixed Feeds does not catch...
authorfranz
Wed, 22 Aug 2012 11:42:41 +0000 (13:42 +0200)
committerChris Leppanen
Wed, 22 Aug 2012 11:42:41 +0000 (13:42 +0200)
mappers/file.inc
plugins/FeedsParser.inc

index ce777ad..2cc5dc3 100644 (file)
@@ -75,7 +75,13 @@ function file_feeds_set_target($source, $entity, $target, $value) {
   $i = 0;
   $field = isset($entity->$target) ? $entity->$target : array();
   foreach ($value as $v) {
-    if ($file = $v->getFile($destination)) {
+    try {
+      $file = $v->getFile($destination);
+    }
+    catch (Exception $e) {
+      watchdog_exception('Feeds', $e, nl2br(check_plain($e)));
+    }
+    if ($file) {
       $field['und'][$i] = (array)$file;
       $field['und'][$i]['display'] = 1; // @todo: Figure out how to properly populate this field.
       if ($info['cardinality'] == 1) {
index 7d1004f..5cdac88 100644 (file)
@@ -368,7 +368,12 @@ class FeedsEnclosure extends FeedsElement {
         if (file_uri_target($destination)) {
           $destination = trim($destination, '/') . '/';
         }
-        $file = file_save_data($this->getContent(), $destination . $filename);
+        try {
+          $file = file_save_data($this->getContent(), $destination . $filename);
+        }
+        catch (Exception $e) {
+          watchdog_exception('Feeds', $e, nl2br(check_plain($e)));
+        }
       }
 
       // We couldn't make sense of this enclosure, throw an exception.