diff --git a/Command/WikidataCommand.php b/Command/WikidataCommand.php index 9bb076a..cc22102 100644 --- a/Command/WikidataCommand.php +++ b/Command/WikidataCommand.php @@ -118,9 +118,7 @@ function ($element): bool { // Download Wikidata item $path = sprintf('%s/%s.json', $outputDir, $identifier); - if (!file_exists($path)) { - self::save($identifier, $element, $path, $warnings); - } + self::save($identifier, $element, $path, $warnings); } } @@ -134,27 +132,22 @@ function ($element): bool { // Download Wikidata item $path = sprintf('%s/%s.json', $outputDir, $wikidataTag); - if (!file_exists($path)) { - self::save($wikidataTag, $element, $path, $warnings); - - $wikiPath = sprintf('%s/%s.json', $outputDir, $wikidataTag); - $entity = Wikidata::read($wikiPath); - - $identifiers = Wikidata::extractNamedAfter($entity); - if (!is_null($identifiers)) { - foreach ($identifiers as $identifier) { - // Check that the value of the tag is a valid Wikidata item identifier - if (preg_match('/^Q[0-9]+$/', $identifier) !== 1) { - $warnings[] = sprintf('Format of `P138` (NamedAfter) property is invalid (%s) for in item "%s".', $identifier, $wikidataTag); - continue; - } - - // Download Wikidata item - $path = sprintf('%s/%s.json', $outputDir, $identifier); - if (!file_exists($path)) { - self::save($identifier, $element, $path, $warnings); - } + self::save($wikidataTag, $element, $path, $warnings); + + $entity = Wikidata::read($path); + + $identifiers = Wikidata::extractNamedAfter($entity); + if (!is_null($identifiers)) { + foreach ($identifiers as $identifier) { + // Check that the value of the tag is a valid Wikidata item identifier + if (preg_match('/^Q[0-9]+$/', $identifier) !== 1) { + $warnings[] = sprintf('Format of `P138` (NamedAfter) property is invalid (%s) for in item "%s".', $identifier, $wikidataTag); + continue; } + + // Download Wikidata item + $path = sprintf('%s/%s.json', $outputDir, $identifier); + self::save($identifier, $element, $path, $warnings); } } } @@ -189,6 +182,10 @@ function ($element): bool { */ private static function save(string $identifier, $element, string $path, array &$warnings = []): void { + if (file_exists($path)) { + return; + } + $url = sprintf('%s%s.json', self::URL, $identifier); $retryMiddleware = Middleware::retry(