diff --git a/Command/WikidataCommand.php b/Command/WikidataCommand.php
index 82ac5e6..dd4e317 100644
--- a/Command/WikidataCommand.php
+++ b/Command/WikidataCommand.php
@@ -116,9 +116,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);
}
}
@@ -132,27 +130,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);
}
}
}
@@ -187,31 +180,33 @@ function ($element): bool {
*/
private static function save(string $identifier, $element, string $path, array &$warnings = []): void
{
- $url = sprintf('%s%s.json', self::URL, $identifier);
-
- try {
- $client = new \GuzzleHttp\Client();
- $client->request('GET', $url, [
- 'headers' => [
- 'User-Agent' => 'EqualStreetNames (https://equalstreetnames.org)',
- 'Accept' => 'application/json',
- ],
- 'sink' => $path,
- ]);
- } catch (BadResponseException $exception) {
- if (file_exists($path)) {
- unlink($path);
- }
+ if (!file_exists($path)) {
+ $url = sprintf('%s%s.json', self::URL, $identifier);
+
+ try {
+ $client = new \GuzzleHttp\Client();
+ $client->request('GET', $url, [
+ 'headers' => [
+ 'User-Agent' => 'EqualStreetNames (https://equalstreetnames.org)',
+ 'Accept' => 'application/json',
+ ],
+ 'sink' => $path,
+ ]);
+ } catch (BadResponseException $exception) {
+ if (file_exists($path)) {
+ unlink($path);
+ }
- switch ($exception->getResponse()->getStatusCode()) {
- case 404:
- $warnings[] = sprintf('Wikidata item %s for %s(%d) does not exist.', $identifier, $element->type, $element->id);
- break;
- default:
- $warnings[] = sprintf('Error while fetching Wikidata item %s for %s(%d): %s.', $identifier, $element->type, $element->id, $exception->getMessage());
- break;
+ switch ($exception->getResponse()->getStatusCode()) {
+ case 404:
+ $warnings[] = sprintf('Wikidata item %s for %s(%d) does not exist.', $identifier, $element->type, $element->id);
+ break;
+ default:
+ $warnings[] = sprintf('Error while fetching Wikidata item %s for %s(%d): %s.', $identifier, $element->type, $element->id, $exception->getMessage());
+ break;
+ }
+ print_r($warnings);
}
- print_r($warnings);
}
}
}