@@ -31,7 +31,6 @@ |
||
| 31 | 31 | |
| 32 | 32 | use Callingallpapers\Parser\JoindinCfpParser; |
| 33 | 33 | use Callingallpapers\Parser\Lanyrd\LanyrdCfpParser; |
| 34 | -use Callingallpapers\Parser\PapercallIoParser; |
|
| 35 | 34 | use Callingallpapers\Parser\PapercallIoParserFactory; |
| 36 | 35 | use Callingallpapers\Service\TimezoneService; |
| 37 | 36 | use Callingallpapers\Writer\ApiCfpWriter; |
@@ -47,11 +47,11 @@ discard block |
||
| 47 | 47 | protected function configure() |
| 48 | 48 | { |
| 49 | 49 | $this->setName("parseCfPs") |
| 50 | - ->setDescription("Retrieve CfPs and parse them") |
|
| 51 | - ->setDefinition(array( |
|
| 52 | - new InputOption('start', 's', InputOption::VALUE_OPTIONAL, 'What should be the first date to be taken into account?', ''), |
|
| 53 | - )) |
|
| 54 | - ->setHelp(<<<EOT |
|
| 50 | + ->setDescription("Retrieve CfPs and parse them") |
|
| 51 | + ->setDefinition(array( |
|
| 52 | + new InputOption('start', 's', InputOption::VALUE_OPTIONAL, 'What should be the first date to be taken into account?', ''), |
|
| 53 | + )) |
|
| 54 | + ->setHelp(<<<EOT |
|
| 55 | 55 | Get details about CfPs from different sources |
| 56 | 56 | |
| 57 | 57 | Usage: |
@@ -61,7 +61,7 @@ discard block |
||
| 61 | 61 | If you ommit the date the current date will be used instead |
| 62 | 62 | <info>callingallpapers parseCfPs<env></info> |
| 63 | 63 | EOT |
| 64 | - ); |
|
| 64 | + ); |
|
| 65 | 65 | } |
| 66 | 66 | |
| 67 | 67 | protected function execute(InputInterface $input, OutputInterface $output) |
@@ -81,9 +81,9 @@ discard block |
||
| 81 | 81 | |
| 82 | 82 | $timezoneService = new TimezoneService(new Client(), $config['timezonedb_token']); |
| 83 | 83 | $parser = new LanyrdCfpParser($timezoneService); |
| 84 | - // $parser->parse($writer); |
|
| 84 | + // $parser->parse($writer); |
|
| 85 | 85 | $parser = new JoindinCfpParser(); |
| 86 | - // $parser->parse($writer); |
|
| 86 | + // $parser->parse($writer); |
|
| 87 | 87 | $factory = new PapercallIoParserFactory($timezoneService); |
| 88 | 88 | $parser = $factory(); |
| 89 | 89 | $parser->parse($writer); |
@@ -38,6 +38,10 @@ |
||
| 38 | 38 | $this->timezone = new \DateTimezone($timezone); |
| 39 | 39 | } |
| 40 | 40 | |
| 41 | + /** |
|
| 42 | + * @param \DOMDocument $dom |
|
| 43 | + * @param \DOMXPath $xpath |
|
| 44 | + */ |
|
| 41 | 45 | public function parse($dom, $xpath) |
| 42 | 46 | { |
| 43 | 47 | $openingDate = $xpath->query("//span[text()='Openend on:']/following-sibling::strong"); |
@@ -41,7 +41,7 @@ |
||
| 41 | 41 | public function parse($dom, $xpath) |
| 42 | 42 | { |
| 43 | 43 | $openingDate = $xpath->query("//span[text()='Openend on:']/following-sibling::strong"); |
| 44 | - if (! $openingDate || $openingDate->length == 0) { |
|
| 44 | + if (!$openingDate || $openingDate->length == 0) { |
|
| 45 | 45 | throw new \UnexpectedValueException('No CfP-Open Date found'); |
| 46 | 46 | } |
| 47 | 47 | |
@@ -50,7 +50,7 @@ |
||
| 50 | 50 | { |
| 51 | 51 | $xpath = new DOMXPath($node->ownerDocument); |
| 52 | 52 | $closingDate = $xpath->query(".//time/@datetime", $node); |
| 53 | - if (! $closingDate || $closingDate->length == 0) { |
|
| 53 | + if (!$closingDate || $closingDate->length == 0) { |
|
| 54 | 54 | throw new InvalidArgumentException('The CfP does not seem to have a closing date'); |
| 55 | 55 | } |
| 56 | 56 | |
@@ -66,7 +66,7 @@ |
||
| 66 | 66 | do { |
| 67 | 67 | $dom = new DOMDocument('1.0', 'UTF-8'); |
| 68 | 68 | libxml_use_internal_errors(true); |
| 69 | - $uri = sprintf($this->uri, $i+1); |
|
| 69 | + $uri = sprintf($this->uri, $i + 1); |
|
| 70 | 70 | $dom->loadHTMLFile($uri); |
| 71 | 71 | libxml_use_internal_errors(false); |
| 72 | 72 | $dom->preserveWhiteSpace = false; |
@@ -32,7 +32,6 @@ |
||
| 32 | 32 | use Callingallpapers\Entity\Cfp; |
| 33 | 33 | use Callingallpapers\Parser\EventDetailParserInterface; |
| 34 | 34 | use DateTimeImmutable; |
| 35 | -use DateTimeZone; |
|
| 36 | 35 | use DOMDocument; |
| 37 | 36 | use DOMNode; |
| 38 | 37 | use DOMXPath; |
@@ -51,30 +51,30 @@ |
||
| 51 | 51 | $xpath = new DOMXPath($dom); |
| 52 | 52 | $titlePath = $xpath->query("//h1[contains(@class, 'subheader__subtitle')]"); |
| 53 | 53 | |
| 54 | - if (! $titlePath || $titlePath->length == 0) { |
|
| 54 | + if (!$titlePath || $titlePath->length == 0) { |
|
| 55 | 55 | return $cfp; |
| 56 | 56 | } |
| 57 | 57 | |
| 58 | 58 | $locationTimeString = trim($titlePath->item(0)->textContent); |
| 59 | 59 | $locationTime = explode(' - ', $locationTimeString); |
| 60 | 60 | |
| 61 | - if (! isset($locationTime[1])) { |
|
| 61 | + if (!isset($locationTime[1])) { |
|
| 62 | 62 | return $cfp; |
| 63 | 63 | } |
| 64 | 64 | |
| 65 | 65 | $dates = explode(',', $locationTime[1]); |
| 66 | - if (count($dates) % 2 !== 0) { |
|
| 66 | + if (count($dates) % 2 !== 0) { |
|
| 67 | 67 | var_Dump($dates); |
| 68 | 68 | return $cfp; |
| 69 | 69 | } |
| 70 | 70 | |
| 71 | - $datestring = $dates[0] . ', ' . $dates[1]; |
|
| 71 | + $datestring = $dates[0].', '.$dates[1]; |
|
| 72 | 72 | |
| 73 | 73 | if (count($dates) >= 4) { |
| 74 | - $datestring = $dates[2] . ', ' . $dates[3]; |
|
| 74 | + $datestring = $dates[2].', '.$dates[3]; |
|
| 75 | 75 | } |
| 76 | 76 | |
| 77 | - $endDate = new DateTimeImmutable($datestring . ' 00:00:00', $this->timezone ); |
|
| 77 | + $endDate = new DateTimeImmutable($datestring.' 00:00:00', $this->timezone); |
|
| 78 | 78 | $cfp->eventEndDate = $endDate; |
| 79 | 79 | |
| 80 | 80 | return $cfp; |
@@ -43,7 +43,7 @@ |
||
| 43 | 43 | $xpath = new DOMXPath($dom); |
| 44 | 44 | $titlePath = $xpath->query("//h1[contains(@class, 'subheader__subtitle')]"); |
| 45 | 45 | |
| 46 | - if (! $titlePath || $titlePath->length == 0) { |
|
| 46 | + if (!$titlePath || $titlePath->length == 0) { |
|
| 47 | 47 | return $cfp; |
| 48 | 48 | } |
| 49 | 49 | |
@@ -43,7 +43,7 @@ |
||
| 43 | 43 | $xpath = new DOMXPath($dom); |
| 44 | 44 | |
| 45 | 45 | $tagsPath = $xpath->query("//h1/following-sibling::a/following-sibling::span"); |
| 46 | - if (! $tagsPath || $tagsPath->length == 0) { |
|
| 46 | + if (!$tagsPath || $tagsPath->length == 0) { |
|
| 47 | 47 | throw new \InvalidArgumentException('The CfP does not seem to have tags'); |
| 48 | 48 | } |
| 49 | 49 | |
@@ -44,7 +44,7 @@ |
||
| 44 | 44 | $xpath = new DOMXPath($dom); |
| 45 | 45 | $titlePath = $xpath->query("//h1[contains(@class, 'subheader__title')]"); |
| 46 | 46 | |
| 47 | - if (! $titlePath || $titlePath->length == 0) { |
|
| 47 | + if (!$titlePath || $titlePath->length == 0) { |
|
| 48 | 48 | throw new \InvalidArgumentException('The CfP does not seem to have an eventname'); |
| 49 | 49 | } |
| 50 | 50 | |
@@ -51,19 +51,19 @@ discard block |
||
| 51 | 51 | $xpath = new DOMXPath($dom); |
| 52 | 52 | $titlePath = $xpath->query("//h1[contains(@class, 'subheader__subtitle')]"); |
| 53 | 53 | |
| 54 | - if (! $titlePath || $titlePath->length == 0) { |
|
| 54 | + if (!$titlePath || $titlePath->length == 0) { |
|
| 55 | 55 | return $cfp; |
| 56 | 56 | } |
| 57 | 57 | |
| 58 | 58 | $location = trim($titlePath->item(0)->textContent); |
| 59 | 59 | $location = explode(' - ', $location); |
| 60 | 60 | |
| 61 | - if (! isset($location[1])) { |
|
| 61 | + if (!isset($location[1])) { |
|
| 62 | 62 | return $cfp; |
| 63 | 63 | } |
| 64 | 64 | |
| 65 | 65 | $dates = explode(',', $location[1]); |
| 66 | - if (count($dates) % 2 !== 0) { |
|
| 66 | + if (count($dates) % 2 !== 0) { |
|
| 67 | 67 | return $cfp; |
| 68 | 68 | } |
| 69 | 69 | |
@@ -71,7 +71,7 @@ discard block |
||
| 71 | 71 | return $cfp; |
| 72 | 72 | } |
| 73 | 73 | |
| 74 | - $startDate = new DateTimeImmutable($dates[0] . ', ' . $dates[1] . ' 00:00:00', $this->timezone ); |
|
| 74 | + $startDate = new DateTimeImmutable($dates[0].', '.$dates[1].' 00:00:00', $this->timezone); |
|
| 75 | 75 | $cfp->eventStartDate = $startDate; |
| 76 | 76 | |
| 77 | 77 | return $cfp; |