/**
  * @param string $url
  * @param string $node
  *
  * @return Feed
  */
 protected function getFeed($url, $node)
 {
     $transport = TransportFactory::createTransportFromUrl($url);
     $reader = new XmlReader(new FileResource($transport));
     $reader->setNodeCallback($node);
     return new Feed($reader);
 }
Exemplo n.º 2
0
 private function loadOrigin1(ObjectManager $manager)
 {
     $origin = (new Origin())->setId(1)->setName('origin1')->setTitle('Origin 1')->setPriority(1);
     $feed = (new Feed())->setOrigin($origin)->setFrequency(1)->setPartial(false)->setType('itunes_podcast')->setOptions([])->setReaderType('xml')->setReaderOptions([])->setImporterType('default')->setImporterOptions([])->setDefaultValues([])->setTransportConfig(TransportFactory::createConfigFromFile($this->getFeedFile('podcast.xml')));
     $manager->persist($origin);
     $manager->persist($feed);
 }
Exemplo n.º 3
0
 protected function addImportParts(Import $import)
 {
     $dispatcher = $this->createEventDispatcher();
     $options = $this->getDefaultReaderOptions($import);
     $reader = $this->createImportReader($import, $dispatcher, $options);
     foreach ($reader->getResources() as $resource) {
         $transport = TransportFactory::createConfigFromTransport($resource->getTransport());
         $part = $this->createImportPart($import, $transport);
         $this->eventDispatcher->dispatch(ImportEvents::PART_CREATED, new PartEvent($part));
     }
 }
Exemplo n.º 4
0
 /**
  * @param array                    $transportConfig
  * @param string                   $destinationDir
  * @param EventDispatcherInterface $dispatcher
  *
  * @return TransportInterface
  */
 protected function createTransport(array $transportConfig, $destinationDir, EventDispatcherInterface $dispatcher)
 {
     $transport = TransportFactory::createTransportFromConfig($transportConfig);
     $transport->setDestinationDir($destinationDir);
     $transport->setEventDispatcher($dispatcher);
     return $transport;
 }
 /**
  * @param PartEvent $event
  */
 public function onPartCreated(PartEvent $event)
 {
     $part = $event->getPart();
     $this->output->writeln(sprintf('=> <comment>%d: %s</comment>', $part->getPosition(), (string) TransportFactory::createTransportFromConfig($part->getTransportConfig())));
 }
 /**
  * @param PartEvent $event
  */
 public function onPartCreated(PartEvent $event)
 {
     $part = $event->getPart();
     $this->logger->debug(sprintf('=> %d: %s', $part->getPosition(), (string) TransportFactory::createTransportFromConfig($part->getTransportConfig())));
 }
 /**
  * @param Feed                     $feed
  * @param string                   $fixtureName
  * @param EventDispatcherInterface $dispatcher
  * @param array                    $options
  *
  * @return ReaderInterface
  */
 protected function createReader(Feed $feed, $fixtureName, EventDispatcherInterface $dispatcher, array $options = [])
 {
     $readerType = $this->getImportRegistry()->getReaderType($feed->getReaderType());
     $refl = new \ReflectionClass(get_class($this));
     $xml = sprintf('%s/fixtures/%s/%s.xml', dirname($refl->getFileName()), $feed->getType(), $fixtureName);
     $transportConfig = TransportFactory::createConfigFromFile($xml);
     $builder = new ReaderBuilder($dispatcher, sys_get_temp_dir() . '/' . $feed->getType());
     return $builder->build($readerType, $transportConfig, $builder::RESOURCE_TYPE_MAIN, $options);
 }
 /**
  * @param ImportPart $part
  *
  * @return bool
  */
 protected function validate(ImportPart $part)
 {
     // validate that we have a valid transport config
     try {
         TransportFactory::createTransportFromConfig($part->getTransportConfig());
     } catch (\RuntimeException $e) {
         $part->setError($e->getMessage());
         return false;
     }
     return true;
 }