Lint
This commit is contained in:
parent
3280e60871
commit
69d09b780e
5 changed files with 50 additions and 31 deletions
|
@ -4,6 +4,7 @@ namespace Alltube\Library;
|
||||||
|
|
||||||
use Alltube\Library\Exception\AlltubeLibraryException;
|
use Alltube\Library\Exception\AlltubeLibraryException;
|
||||||
use Alltube\Library\Exception\AvconvException;
|
use Alltube\Library\Exception\AvconvException;
|
||||||
|
use Alltube\Library\Exception\EmptyUrlException;
|
||||||
use Alltube\Library\Exception\InvalidProtocolConversionException;
|
use Alltube\Library\Exception\InvalidProtocolConversionException;
|
||||||
use Alltube\Library\Exception\InvalidTimeException;
|
use Alltube\Library\Exception\InvalidTimeException;
|
||||||
use Alltube\Library\Exception\PasswordException;
|
use Alltube\Library\Exception\PasswordException;
|
||||||
|
@ -111,10 +112,10 @@ class Downloader
|
||||||
/**
|
/**
|
||||||
* @param string $webpageUrl URL of the page containing the video
|
* @param string $webpageUrl URL of the page containing the video
|
||||||
* @param string $requestedFormat Requested video format
|
* @param string $requestedFormat Requested video format
|
||||||
* @param string $password Password
|
* @param string|null $password Password
|
||||||
* @return Video
|
* @return Video
|
||||||
*/
|
*/
|
||||||
public function getVideo($webpageUrl, $requestedFormat = 'best/bestvideo', $password = null)
|
public function getVideo(string $webpageUrl, $requestedFormat = 'best/bestvideo', string $password = null)
|
||||||
{
|
{
|
||||||
return new Video($this, $webpageUrl, $requestedFormat, $password);
|
return new Video($this, $webpageUrl, $requestedFormat, $password);
|
||||||
}
|
}
|
||||||
|
@ -159,21 +160,24 @@ class Downloader
|
||||||
* @param int $audioBitrate Audio bitrate of the converted file
|
* @param int $audioBitrate Audio bitrate of the converted file
|
||||||
* @param string $filetype Filetype of the converted file
|
* @param string $filetype Filetype of the converted file
|
||||||
* @param bool $audioOnly True to return an audio-only file
|
* @param bool $audioOnly True to return an audio-only file
|
||||||
* @param string $from Start the conversion at this time
|
* @param string|null $from Start the conversion at this time
|
||||||
* @param string $to End the conversion at this time
|
* @param string|null $to End the conversion at this time
|
||||||
*
|
*
|
||||||
* @return Process<string> Process
|
* @return Process<string> Process
|
||||||
* @throws AlltubeLibraryException
|
|
||||||
* @throws AvconvException If avconv/ffmpeg is missing
|
* @throws AvconvException If avconv/ffmpeg is missing
|
||||||
|
* @throws EmptyUrlException
|
||||||
* @throws InvalidTimeException
|
* @throws InvalidTimeException
|
||||||
|
* @throws PasswordException
|
||||||
|
* @throws WrongPasswordException
|
||||||
|
* @throws YoutubedlException
|
||||||
*/
|
*/
|
||||||
private function getAvconvProcess(
|
private function getAvconvProcess(
|
||||||
Video $video,
|
Video $video,
|
||||||
$audioBitrate,
|
int $audioBitrate,
|
||||||
$filetype = 'mp3',
|
$filetype = 'mp3',
|
||||||
$audioOnly = true,
|
$audioOnly = true,
|
||||||
$from = null,
|
string $from = null,
|
||||||
$to = null
|
string $to = null
|
||||||
) {
|
) {
|
||||||
if (!$this->checkCommand([$this->avconv, '-version'])) {
|
if (!$this->checkCommand([$this->avconv, '-version'])) {
|
||||||
throw new AvconvException($this->avconv);
|
throw new AvconvException($this->avconv);
|
||||||
|
@ -309,13 +313,22 @@ class Downloader
|
||||||
*
|
*
|
||||||
* @param Video $video Video object
|
* @param Video $video Video object
|
||||||
* @param int $audioBitrate MP3 bitrate when converting (in kbit/s)
|
* @param int $audioBitrate MP3 bitrate when converting (in kbit/s)
|
||||||
* @param string $from Start the conversion at this time
|
* @param string|null $from Start the conversion at this time
|
||||||
* @param string $to End the conversion at this time
|
* @param string|null $to End the conversion at this time
|
||||||
*
|
*
|
||||||
* @return resource popen stream
|
* @return resource popen stream
|
||||||
* @throws AlltubeLibraryException
|
* @throws AvconvException
|
||||||
|
* @throws EmptyUrlException
|
||||||
|
* @throws InvalidProtocolConversionException
|
||||||
|
* @throws InvalidTimeException
|
||||||
|
* @throws PasswordException
|
||||||
|
* @throws PlaylistConversionException
|
||||||
|
* @throws PopenStreamException
|
||||||
|
* @throws RemuxException
|
||||||
|
* @throws WrongPasswordException
|
||||||
|
* @throws YoutubedlException
|
||||||
*/
|
*/
|
||||||
public function getAudioStream(Video $video, $audioBitrate = 128, $from = null, $to = null)
|
public function getAudioStream(Video $video, $audioBitrate = 128, string $from = null, string $to = null)
|
||||||
{
|
{
|
||||||
return $this->getConvertedStream($video, $audioBitrate, 'mp3', true, $from, $to);
|
return $this->getConvertedStream($video, $audioBitrate, 'mp3', true, $from, $to);
|
||||||
}
|
}
|
||||||
|
@ -402,22 +415,28 @@ class Downloader
|
||||||
* @param int $audioBitrate Audio bitrate of the converted file
|
* @param int $audioBitrate Audio bitrate of the converted file
|
||||||
* @param string $filetype Filetype of the converted file
|
* @param string $filetype Filetype of the converted file
|
||||||
* @param bool $audioOnly True to return an audio-only file
|
* @param bool $audioOnly True to return an audio-only file
|
||||||
* @param string $from Start the conversion at this time
|
* @param string|null $from Start the conversion at this time
|
||||||
* @param string $to End the conversion at this time
|
* @param string|null $to End the conversion at this time
|
||||||
*
|
*
|
||||||
* @return resource popen stream
|
* @return resource popen stream
|
||||||
* @throws AlltubeLibraryException
|
* @throws AvconvException
|
||||||
* @throws PopenStreamException If the popen stream was not created correctly
|
* @throws EmptyUrlException
|
||||||
* @throws InvalidProtocolConversionException If you try to convert an M3U or Dash media
|
* @throws InvalidProtocolConversionException If you try to convert an M3U or Dash media
|
||||||
|
* @throws InvalidTimeException
|
||||||
|
* @throws PasswordException
|
||||||
* @throws PlaylistConversionException If you try to convert a playlist
|
* @throws PlaylistConversionException If you try to convert a playlist
|
||||||
|
* @throws PopenStreamException If the popen stream was not created correctly
|
||||||
|
* @throws RemuxException
|
||||||
|
* @throws WrongPasswordException
|
||||||
|
* @throws YoutubedlException
|
||||||
*/
|
*/
|
||||||
public function getConvertedStream(
|
public function getConvertedStream(
|
||||||
Video $video,
|
Video $video,
|
||||||
$audioBitrate,
|
int $audioBitrate,
|
||||||
$filetype,
|
string $filetype,
|
||||||
$audioOnly = false,
|
$audioOnly = false,
|
||||||
$from = null,
|
string $from = null,
|
||||||
$to = null
|
string $to = null
|
||||||
) {
|
) {
|
||||||
if (isset($video->_type) && $video->_type == 'playlist') {
|
if (isset($video->_type) && $video->_type == 'playlist') {
|
||||||
throw new PlaylistConversionException();
|
throw new PlaylistConversionException();
|
||||||
|
|
|
@ -11,7 +11,7 @@ class AvconvException extends AlltubeLibraryException
|
||||||
* AvconvException constructor.
|
* AvconvException constructor.
|
||||||
* @param string $path Path to avconv or ffmpeg.
|
* @param string $path Path to avconv or ffmpeg.
|
||||||
*/
|
*/
|
||||||
public function __construct($path)
|
public function __construct(string $path)
|
||||||
{
|
{
|
||||||
parent::__construct("Can't find avconv or ffmpeg at " . $path . '.');
|
parent::__construct("Can't find avconv or ffmpeg at " . $path . '.');
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ class InvalidProtocolConversionException extends AlltubeLibraryException
|
||||||
* InvalidProtocolConversionException constructor.
|
* InvalidProtocolConversionException constructor.
|
||||||
* @param string $protocol Protocol
|
* @param string $protocol Protocol
|
||||||
*/
|
*/
|
||||||
public function __construct($protocol)
|
public function __construct(string $protocol)
|
||||||
{
|
{
|
||||||
parent::__construct($protocol . ' protocol is not supported in conversions.');
|
parent::__construct($protocol . ' protocol is not supported in conversions.');
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ class InvalidTimeException extends AlltubeLibraryException
|
||||||
* InvalidTimeException constructor.
|
* InvalidTimeException constructor.
|
||||||
* @param string $time Invalid time
|
* @param string $time Invalid time
|
||||||
*/
|
*/
|
||||||
public function __construct($time)
|
public function __construct(string $time)
|
||||||
{
|
{
|
||||||
parent::__construct('Invalid time: ' . $time);
|
parent::__construct('Invalid time: ' . $time);
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,13 +81,13 @@ class Video
|
||||||
* @param string $requestedFormat Requested video format
|
* @param string $requestedFormat Requested video format
|
||||||
* (can be any format string accepted by youtube-dl,
|
* (can be any format string accepted by youtube-dl,
|
||||||
* including selectors like "[height<=720]")
|
* including selectors like "[height<=720]")
|
||||||
* @param string $password Password
|
* @param string|null $password Password
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
Downloader $downloader,
|
Downloader $downloader,
|
||||||
$webpageUrl,
|
string $webpageUrl,
|
||||||
$requestedFormat,
|
string $requestedFormat,
|
||||||
$password = null
|
string $password = null
|
||||||
) {
|
) {
|
||||||
$this->downloader = $downloader;
|
$this->downloader = $downloader;
|
||||||
$this->webpageUrl = $webpageUrl;
|
$this->webpageUrl = $webpageUrl;
|
||||||
|
@ -151,7 +151,7 @@ class Video
|
||||||
* @throws WrongPasswordException
|
* @throws WrongPasswordException
|
||||||
* @throws YoutubedlException
|
* @throws YoutubedlException
|
||||||
*/
|
*/
|
||||||
public function __get($name)
|
public function __get(string $name)
|
||||||
{
|
{
|
||||||
if (isset($this->$name)) {
|
if (isset($this->$name)) {
|
||||||
return $this->getJson()->$name;
|
return $this->getJson()->$name;
|
||||||
|
@ -170,7 +170,7 @@ class Video
|
||||||
* @throws WrongPasswordException
|
* @throws WrongPasswordException
|
||||||
* @throws YoutubedlException
|
* @throws YoutubedlException
|
||||||
*/
|
*/
|
||||||
public function __isset($name)
|
public function __isset(string $name)
|
||||||
{
|
{
|
||||||
return isset($this->getJson()->$name);
|
return isset($this->getJson()->$name);
|
||||||
}
|
}
|
||||||
|
@ -225,7 +225,7 @@ class Video
|
||||||
* @throws WrongPasswordException
|
* @throws WrongPasswordException
|
||||||
* @throws YoutubedlException
|
* @throws YoutubedlException
|
||||||
*/
|
*/
|
||||||
public function getFileNameWithExtension($extension)
|
public function getFileNameWithExtension(string $extension)
|
||||||
{
|
{
|
||||||
if (isset($this->ext)) {
|
if (isset($this->ext)) {
|
||||||
return str_replace('.' . $this->ext, '.' . $extension, $this->getFilename());
|
return str_replace('.' . $this->ext, '.' . $extension, $this->getFilename());
|
||||||
|
@ -278,7 +278,7 @@ class Video
|
||||||
*
|
*
|
||||||
* @return Video
|
* @return Video
|
||||||
*/
|
*/
|
||||||
public function withFormat($format)
|
public function withFormat(string $format)
|
||||||
{
|
{
|
||||||
return new self($this->downloader, $this->webpageUrl, $format, $this->password);
|
return new self($this->downloader, $this->webpageUrl, $format, $this->password);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue