public function executeFeed($request)
 {
     $feed = new sfRssDomFeed();
     $link = '@homepage';
     if ($request->hasParameter('slug') && $request->hasParameter('podcast_slug')) {
         $podcast = CommonBehavior::retrieveBySlug('PodcastPeer', $request->getParameter('podcast_slug'));
         $c = new Criteria();
         if (!$podcast) {
             $this->forward404();
         }
         $link = $podcast->getLink() ? $podcast->getLink() : $podcast->getUri();
         $podcast_feed = CommonBehavior::retrieveBySlug('FeedPeer', $request->getParameter('slug'), $c);
     }
     $format = $request->getParameter('format');
     // not "content format" but "delivery method enclosure format"
     $feed->initialize(array('title' => $podcast->getTitle(), 'link' => $link, 'generator' => sfConfig::get('app_version_url'), 'authorEmail' => $podcast->getEmail(), 'authorName' => $podcast->getAuthor(), 'description' => $podcast->getDescription(), 'image' => new sfFeedImage(array("image" => $podcast->getImageUrl()))));
     $pager = $this->getPager($podcast_feed->getId());
     $pager->init();
     $result_set = $pager->getResults();
     $objects = array();
     // temporary until we port convertObjectsToItems into sfDomFeed
     foreach ($result_set as $torrent) {
         $torrent->setFeedEnclosure($format);
         $objects[] = new sfDomFeedItem($torrent, array('enclosure' => new sfDomFeedEnclosure($torrent)));
     }
     $feed->addItems($objects);
     $this->feed = $feed;
 }