/** * Run the console command following initialisation / configuration */ public function run() { try { $exporter = $this->config->get('export', 'exporter') ? $this->config->get('export', 'exporter') : 'stdout'; $this->exporter = ExporterFactory::make($exporter, $this); $this->out("Using Exporter: {$exporter}"); if ($this->config->get('download', 'download')) { $this->out("Starting Downloader"); $this->downloader = new Downloader($this); $this->downloader->download(); } if ($this->config->get('parse', 'parse')) { $parsers = $this->config->get('parse', 'filetypes') ? $this->config->get('parse', 'filetypes') : 'PL'; $parsers = explode(',', $parsers); foreach ($parsers as $parser) { $this->parser = ParserFactory::make($parser, $this); $this->out("Starting Parser: " . $this->parser->name); $this->parser->parse(); } } } catch (ParserException $e) { exit("Parser Error: " . $e->getMessage()); } catch (DownloaderException $e) { exit("Downloader Error: " . $e->getMessage()); } catch (ExporterException $e) { exit("Exporter Error: " . $e->getMessage()); } }
public function testExporterConfigWithDependency() { /** @var \NHL\Exporters\CSVExporter $csvExporter */ $csvExporter = ExporterFactory::make('csv', self::$command); $this->assertEquals("%SEASON%/%SHORTID%-%AWAYTEAM%-at-%HOMETEAM%", $csvExporter->getOption("folderStructure")); $this->assertEquals("id", $csvExporter->getOption('ignoreColumns')); $this->assertEquals('output/', $csvExporter->getOption('path')); // Comes from [export] settings }