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

}