nextcloud-gpodder/lib/Core/EpisodeAction/EpisodeActionReader.php

29 lines
860 B
PHP
Raw Normal View History

<?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"],
);
}
}