@@ -285,7 +285,7 @@ public function fetchRange(DateTimeImmutable $start, DateTimeImmutable $stop, So
285285 // If cached file exists, use it
286286 if (file_exists ($ cache_file )) {
287287 $ full_response = json_decode (file_get_contents ($ cache_file ), true );
288- return $ full_response ;
288+ return $ full_response[ ' data ' ] ;
289289 } else {
290290 $ cache_dir = dirname ($ cache_file );
291291 if (!is_dir ($ cache_dir )) {
@@ -382,19 +382,14 @@ protected function formatOutput(array $response, int $step): array
382382 // This is needed to detect later the switching to winter time
383383 $ response = $ this ->shiftToLocalTimezone ($ response );
384384 $ intensities = [];
385- foreach ($ response ['data ' ] as $ record ) {
386- $ datetime = $ record ['datetime ' ];
387- if (!$ datetime instanceof DateTimeInterface) {
388- var_dump (DateTime::getLastErrors ());
389- continue ;
390- }
385+ array_walk ($ response , function ($ record ) use (&$ intensities ) {
391386 $ data_quality = $ this ->getDataQuality ($ record );
392387 $ intensities [] = [
393- 'datetime ' => $ datetime ->format (DateTime:: ATOM ),
388+ 'datetime ' => $ record [ ' datetime ' ] ->format (' Y-m-d\TH:00:00 ' ),
394389 'intensity ' => $ record ['carbonIntensity ' ],
395390 'data_quality ' => $ data_quality ,
396391 ];
397- }
392+ });
398393
399394 return $ intensities ;
400395 }
@@ -403,7 +398,7 @@ protected function formatOutput(array $response, int $step): array
403398 * convert dates to the timezone of GLPI
404399 *
405400 * @param array $response
406- * @return array array of records: ['date_heure ' => string , 'taux_co2 ' => number, 'datetime' => DateTime ]
401+ * @return array array of records: ['datetime ' => DateTime , 'carbonintensity ' => number]
407402 */
408403 protected function shiftToLocalTimezone (array $ response ): array
409404 {
@@ -412,7 +407,7 @@ protected function shiftToLocalTimezone(array $response): array
412407
413408 $ shifted_response = [];
414409 $ local_timezone = new DateTimeZone ($ DB ->guessTimezone ());
415- array_walk ($ response[ ' data ' ] , function ($ item , $ key ) use (&$ shifted_response , $ local_timezone ) {
410+ array_walk ($ response , function ($ item , $ key ) use (&$ shifted_response , $ local_timezone ) {
416411 $ shifted_date_object = DateTime::createFromFormat ('Y-m-d\TH:i:s.vp ' , $ item ['datetime ' ])
417412 ->setTimezone ($ local_timezone );
418413 $ shifted_date_string = $ shifted_date_object ->format ('Y-m-d H:i:sP ' );
@@ -423,7 +418,7 @@ protected function shiftToLocalTimezone(array $response): array
423418 $ shifted_response [$ shifted_date_string ] = $ item ;
424419 });
425420
426- return [ ' zone ' => $ response [ ' zone ' ], ' data ' => $ shifted_response] ;
421+ return $ shifted_response ;
427422 }
428423
429424 /**
0 commit comments