src/Crawler/EventInfoCrawler.php
public function getEventInfo(int $id): ?EventInfo
    {
        $node = $this->crawlEvent($id);

        if (null === $node) {
            return null;
        }

        $timeNode = $node->filter('.qa-event-date');

        return new EventInfo(
            $id,
            $this->parseString($node->filter('h1.header-title')) ?? '',
            $this->parseString($node->filter('.qa-event-description'), true),
            $this->parseDate($timeNode->filter('[itemprop="startDate"]')),
            $this->parseDate($timeNode->filter('[itemprop="endDate"]')),
            $this->parseString($node->filter('.qa-event-link a')),
            $this->parseImage($node->filter('.event-poster-preview')),
            $this->parseUrl($node->filter('link[rel="canonical"]')),
            $node->filter('.namespace--events_festival_overview')->count() > 0,
            $this->readVenues($node),
            $this->readArtists($node)
        );
    }
public function getEventInfo(int $id): ?EventInfo
    {
        $node = $this->crawlEvent($id);

        if (null === $node) {
            return null;
        }

        $timeNode = $node->filter('.qa-event-date');

        return new EventInfo(
            $id,
            $this->parseString($node->filter('h1.header-title')) ?? '',
            $this->parseString($node->filter('.qa-event-description'), true),
            $this->parseDate($timeNode->filter('[itemprop="startDate"]')),
            $this->parseDate($timeNode->filter('[itemprop="endDate"]')),
            $this->parseString($node->filter('.qa-event-link a')),
            $this->parseImage($node->filter('.event-poster-preview')),
            $this->parseUrl($node->filter('link[rel="canonical"]')),
            $node->filter('.namespace--events_festival_overview')->count() > 0,
            $this->readVenues($node),
            $this->readArtists($node)
        );
    }
{@inheritdoc}