5 use Drupal\Core\Site\Settings;
6 use Harvest\ETL\Transform\Transform;
7 use Drupal\dkan_harvest\Load\FileHelperTrait;
23 public function run($dataset) {
34 $setting = Settings::get(
'file_public_base_url');
35 if (!isset($setting) || empty($setting)) {
36 throw new \Exception(
"file_public_base_url should be set.");
52 if (empty($dataset->distribution)) {
59 foreach ($dataset->distribution as $dist) {
64 $dataset->distribution = $distributions;
82 if (empty($dist->downloadURL)) {
87 $newUrl = $this->
saveFile($dist->downloadURL, $dataset->identifier);
91 $dist->downloadURL = $newUrl;
115 $targetDir =
'public://distribution/' . $dataset_id;
117 $fileHelper = $this->getFileHelper();
119 $fileHelper->prepareDir($targetDir);
122 if (!($path = $fileHelper->retrieveFile($url, $targetDir))) {
126 if (is_object($path)) {
127 return file_create_url($path->uri->value);
130 return $fileHelper->fileCreate($path);