29 lines
860 B
PHP
29 lines
860 B
PHP
|
<?php
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace OCA\GPodderSync\Core\EpisodeAction;
|
||
|
|
||
|
class EpisodeActionReader {
|
||
|
public function fromString(string $episodeActionString): EpisodeAction {
|
||
|
file_put_contents('actionreader.log', var_export($episodeActionString, true), FILE_APPEND);
|
||
|
preg_match(
|
||
|
'/\[EpisodeAction{(podcast=\')(?<podcast>.*?)(\', episode=\')(?<episode>.*?)(\', action=)(?<action>.*?)(, timestamp=)(?<timestamp>.*?)(, started=)(?<started>.*?)(, position=)(?<position>.*?)(, total=)(?<total>.*?)}]*/',
|
||
|
$episodeActionString,
|
||
|
$matches
|
||
|
);
|
||
|
|
||
|
file_put_contents('actionreader.log', var_export($matches, true), FILE_APPEND);
|
||
|
|
||
|
return new EpisodeAction(
|
||
|
$matches["podcast"],
|
||
|
$matches["episode"],
|
||
|
$matches["action"],
|
||
|
$matches["timestamp"],
|
||
|
(int)$matches["started"],
|
||
|
(int)$matches["position"],
|
||
|
(int)$matches["total"],
|
||
|
);
|
||
|
}
|
||
|
|
||
|
}
|