Merge branch 'release/3.2.0-alpha'

This commit is contained in:
Pierre Rudloff 2023-04-22 23:21:32 +02:00
commit ec95a8f1b7
No known key found for this signature in database
15 changed files with 70 additions and 75 deletions

View File

@ -9,8 +9,9 @@ jobs:
strategy: strategy:
matrix: matrix:
php-version: php-version:
- '7.3'
- '7.4' - '7.4'
- '8.0'
- '8.1'
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Use PHP ${{ matrix.php-version }} - name: Use PHP ${{ matrix.php-version }}

View File

@ -1,7 +1,6 @@
FROM php:7.3-apache FROM php:7.4-apache
RUN apt-get update RUN apt-get update
RUN apt-get install -y libicu-dev xz-utils git python libgmp-dev unzip ffmpeg RUN apt-get install -y libicu-dev xz-utils git python libgmp-dev unzip ffmpeg
RUN docker-php-ext-install mbstring
RUN docker-php-ext-install intl RUN docker-php-ext-install intl
RUN docker-php-ext-install gmp RUN docker-php-ext-install gmp
RUN a2enmod rewrite RUN a2enmod rewrite
@ -12,4 +11,5 @@ RUN php composer.phar check-platform-reqs --no-dev
RUN php composer.phar install --prefer-dist --no-progress --no-dev --optimize-autoloader RUN php composer.phar install --prefer-dist --no-progress --no-dev --optimize-autoloader
RUN mkdir /var/www/html/templates_c/ RUN mkdir /var/www/html/templates_c/
RUN chmod 770 -R /var/www/html/templates_c/ RUN chmod 770 -R /var/www/html/templates_c/
RUN chown www-data -R /var/www/html/templates_c/
ENV CONVERT=1 ENV CONVERT=1

View File

@ -24,84 +24,92 @@ class Config
* *
* @var string * @var string
*/ */
public $youtubedl = 'vendor/ytdl-org/youtube-dl/youtube_dl/__main__.py'; public string $youtubedl = 'vendor/yt-dlp/yt-dlp/yt_dlp/__main__.py';
/** /**
* python binary path. * python binary path.
* *
* @var string * @var string
*/ */
public $python = '/usr/bin/python'; public string $python = '/usr/bin/python';
/** /**
* youtube-dl parameters. * youtube-dl parameters.
* *
* @var string[] * @var string[]
*/ */
public $params = ['--no-warnings', '--ignore-errors', '--flat-playlist', '--restrict-filenames', '--no-playlist']; public array $params = [
'--no-warnings',
'--ignore-errors',
'--flat-playlist',
'--restrict-filenames',
'--no-playlist',
'--use-extractors',
'default,-generic',
];
/** /**
* Enable audio conversion. * Enable audio conversion.
* *
* @var bool * @var bool
*/ */
public $convert = false; public bool $convert = false;
/** /**
* Enable advanced conversion mode. * Enable advanced conversion mode.
* *
* @var bool * @var bool
*/ */
public $convertAdvanced = false; public bool $convertAdvanced = false;
/** /**
* List of formats available in advanced conversion mode. * List of formats available in advanced conversion mode.
* *
* @var string[] * @var string[]
*/ */
public $convertAdvancedFormats = ['mp3', 'avi', 'flv', 'wav']; public array $convertAdvancedFormats = ['mp3', 'avi', 'flv', 'wav'];
/** /**
* ffmpeg binary path. * ffmpeg binary path.
* *
* @var string * @var string
*/ */
public $ffmpeg = '/usr/bin/ffmpeg'; public string $ffmpeg = '/usr/bin/ffmpeg';
/** /**
* Path to the directory that contains the phantomjs binary. * Path to the directory that contains the phantomjs binary.
* *
* @var string * @var string
*/ */
public $phantomjsDir = '/usr/bin/'; public string $phantomjsDir = '/usr/bin/';
/** /**
* Disable URL rewriting. * Disable URL rewriting.
* *
* @var bool * @var bool
*/ */
public $uglyUrls = false; public bool $uglyUrls = false;
/** /**
* Stream downloaded files trough server? * Stream downloaded files trough server?
* *
* @var bool * @var bool
*/ */
public $stream = false; public bool $stream = false;
/** /**
* Allow to remux video + audio? * Allow to remux video + audio?
* *
* @var bool * @var bool
*/ */
public $remux = false; public bool $remux = false;
/** /**
* MP3 bitrate when converting (in kbit/s). * MP3 bitrate when converting (in kbit/s).
* *
* @var int * @var int
*/ */
public $audioBitrate = 128; public int $audioBitrate = 128;
/** /**
* ffmpeg logging level. * ffmpeg logging level.
@ -109,21 +117,21 @@ class Config
* *
* @var string * @var string
*/ */
public $ffmpegVerbosity = 'error'; public string $ffmpegVerbosity = 'error';
/** /**
* App name. * App name.
* *
* @var string * @var string
*/ */
public $appName = 'AllTube Download'; public string $appName = 'AllTube Download';
/** /**
* Generic formats supported by youtube-dl. * Generic formats supported by youtube-dl.
* *
* @var string[] * @var string[]
*/ */
public $genericFormats = [ public array $genericFormats = [
'best/bestvideo' => 'Best', 'best/bestvideo' => 'Best',
'bestvideo+bestaudio' => 'Remux best video with best audio', 'bestvideo+bestaudio' => 'Remux best video with best audio',
'worst/worstvideo' => 'Worst', 'worst/worstvideo' => 'Worst',
@ -134,21 +142,21 @@ class Config
* *
* @var bool * @var bool
*/ */
public $debug = false; public bool $debug = false;
/** /**
* Default to audio. * Default to audio.
* *
* @var bool * @var bool
*/ */
public $defaultAudio = false; public bool $defaultAudio = false;
/** /**
* Disable audio conversion from/to seeker. * Disable audio conversion from/to seeker.
* *
* @var bool * @var bool
*/ */
public $convertSeek = true; public bool $convertSeek = true;
/** /**
* Config constructor. * Config constructor.

View File

@ -30,21 +30,21 @@ abstract class BaseController
* *
* @var Video * @var Video
*/ */
protected $video; protected Video $video;
/** /**
* Default youtube-dl format. * Default youtube-dl format.
* *
* @var string * @var string
*/ */
protected $defaultFormat = 'best/bestvideo'; protected string $defaultFormat = 'best/bestvideo';
/** /**
* Slim dependency container. * Slim dependency container.
* *
* @var ContainerInterface * @var ContainerInterface
*/ */
protected $container; protected ContainerInterface $container;
/** /**
* Config instance. * Config instance.

View File

@ -60,7 +60,7 @@ class Locale
*/ */
public function getFullName(): string public function getFullName(): string
{ {
return PHPLocale::getDisplayName($this->getIso15897(), $this->getIso15897()); return mb_convert_case(PHPLocale::getDisplayName($this->getIso15897(), $this->getIso15897()), MB_CASE_TITLE);
} }
/** /**

View File

@ -27,14 +27,14 @@ class LocaleManager
* *
* @var Locale|null * @var Locale|null
*/ */
private $curLocale; private ?Locale $curLocale = null;
/** /**
* Session segment used to store session variables. * Session segment used to store session variables.
* *
* @var Segment * @var Segment
*/ */
private $sessionSegment; private Segment $sessionSegment;
/** /**
* Default locale. * Default locale.
@ -48,7 +48,7 @@ class LocaleManager
* *
* @var Translator * @var Translator
*/ */
private $translator; private Translator $translator;
/** /**
* LocaleManager constructor. * LocaleManager constructor.

View File

@ -26,6 +26,7 @@ class ReleaseCommand extends Tasks
$gitTask = $this->taskExec('git'); $gitTask = $this->taskExec('git');
$result = $gitTask $result = $gitTask
->arg('describe') ->arg('describe')
->interactive(false)
->run(); ->run();
$tmpDir = $this->_tmpDir(); $tmpDir = $this->_tmpDir();

View File

@ -24,7 +24,7 @@ class PlaylistArchiveStream extends ZipArchive implements StreamInterface
* *
* @var Video[] * @var Video[]
*/ */
private $videos = []; private array $videos = [];
/** /**
* Stream used to store data before it is sent to the browser. * Stream used to store data before it is sent to the browser.
@ -38,21 +38,21 @@ class PlaylistArchiveStream extends ZipArchive implements StreamInterface
* *
* @var StreamInterface * @var StreamInterface
*/ */
protected $curVideoStream; protected StreamInterface $curVideoStream;
/** /**
* True if the archive is complete. * True if the archive is complete.
* *
* @var bool * @var bool
*/ */
private $isComplete = false; private bool $isComplete = false;
/** /**
* Downloader object. * Downloader object.
* *
* @var Downloader * @var Downloader
*/ */
protected $downloader; protected Downloader $downloader;
/** /**
* PlaylistArchiveStream constructor. * PlaylistArchiveStream constructor.

View File

@ -20,7 +20,7 @@ class YoutubeChunkStream implements StreamInterface
* *
* @var ResponseInterface * @var ResponseInterface
*/ */
private $response; private ResponseInterface $response;
/** /**
* YoutubeChunkStream constructor. * YoutubeChunkStream constructor.

View File

@ -18,7 +18,7 @@
} }
], ],
"require": { "require": {
"php": ">=7.3", "php": ">=7.4",
"ext-intl": "*", "ext-intl": "*",
"ext-json": "*", "ext-json": "*",
"aura/session": "^2.1", "aura/session": "^2.1",
@ -31,13 +31,13 @@
"mathmarques/smarty-view": "^1.2", "mathmarques/smarty-view": "^1.2",
"oomphinc/composer-installers-extender": "^2.0", "oomphinc/composer-installers-extender": "^2.0",
"paragonie/csp-builder": "^2.5", "paragonie/csp-builder": "^2.5",
"rinvex/countries": "^6.1", "rinvex/countries": "^7.3",
"rudloff/alltube-library": "^0.1.3", "rudloff/alltube-library": "^0.1.3",
"symfony/finder": "^5.4", "symfony/finder": "^5.4",
"symfony/translation": "^4.0", "symfony/translation": "^4.0",
"symfony/yaml": "^4.0", "symfony/yaml": "^4.0",
"webfontkit/open-sans": "^1.0", "webfontkit/open-sans": "^1.0",
"ytdl-org/youtube-dl": "^2021.12", "yt-dlp/yt-dlp": "^2023.03",
"zonuexe/http-accept-language": "^0.4.1" "zonuexe/http-accept-language": "^0.4.1"
}, },
"require-dev": { "require-dev": {
@ -62,11 +62,11 @@
{ {
"type": "package", "type": "package",
"package": { "package": {
"name": "ytdl-org/youtube-dl", "name": "yt-dlp/yt-dlp",
"version": "2021.12.17", "version": "2023.03.04",
"dist": { "dist": {
"type": "tar", "type": "tar",
"url": "https://yt-dl.org/downloads/2021.12.17/youtube-dl-2021.12.17.tar.gz" "url": "https://github.com/yt-dlp/yt-dlp/releases/download/2023.03.04/yt-dlp.tar.gz"
} }
} }
} }
@ -92,7 +92,7 @@
"phpro/grumphp": true "phpro/grumphp": true
}, },
"platform": { "platform": {
"php": "7.3.11" "php": "7.4.33"
}, },
"sort-packages": true "sort-packages": true
}, },
@ -108,11 +108,7 @@
"installer-types": [ "installer-types": [
"library" "library"
], ],
"patches": { "patches": {}
"ytdl-org/youtube-dl": {
"Disable the generic extractor": "patches/youtube-dl-disable-generic.diff"
}
}
}, },
"scripts": { "scripts": {
"lint": "grumphp run --ansi", "lint": "grumphp run --ansi",

29
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "6f7b900aafa876f17e0815ca6fa044a5", "content-hash": "02f288a60af3784e20ca7e1ba9afac4a",
"packages": [ "packages": [
{ {
"name": "aura/session", "name": "aura/session",
@ -2037,25 +2037,24 @@
}, },
{ {
"name": "rinvex/countries", "name": "rinvex/countries",
"version": "v6.1.2", "version": "v7.3.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/rinvex/countries.git", "url": "https://github.com/rinvex/countries.git",
"reference": "0dd9da817c1faa33429fe56b8ba059fdabe6e0fe" "reference": "4696d23976e27d6cedf7e55db3fa24e11924b727"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/rinvex/countries/zipball/0dd9da817c1faa33429fe56b8ba059fdabe6e0fe", "url": "https://api.github.com/repos/rinvex/countries/zipball/4696d23976e27d6cedf7e55db3fa24e11924b727",
"reference": "0dd9da817c1faa33429fe56b8ba059fdabe6e0fe", "reference": "4696d23976e27d6cedf7e55db3fa24e11924b727",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2.0" "php": "^7.4.0 || ^8.0.0"
}, },
"require-dev": { "require-dev": {
"codedungeon/phpunit-result-printer": "^0.26.0", "codedungeon/phpunit-result-printer": "^0.30.0",
"laravel/helpers": "^1.1.0", "phpunit/phpunit": "^9.5.0"
"phpunit/phpunit": "^8.3.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@ -2117,7 +2116,7 @@
"issues": "https://github.com/rinvex/countries/issues", "issues": "https://github.com/rinvex/countries/issues",
"source": "https://github.com/rinvex/countries" "source": "https://github.com/rinvex/countries"
}, },
"time": "2020-03-13T18:04:45+00:00" "time": "2020-12-25T01:36:24+00:00"
}, },
{ {
"name": "rudloff/alltube-library", "name": "rudloff/alltube-library",
@ -3768,11 +3767,11 @@
"time": "2014-08-20T20:43:34+00:00" "time": "2014-08-20T20:43:34+00:00"
}, },
{ {
"name": "ytdl-org/youtube-dl", "name": "yt-dlp/yt-dlp",
"version": "2021.12.17", "version": "2023.03.04",
"dist": { "dist": {
"type": "tar", "type": "tar",
"url": "https://yt-dl.org/downloads/2021.12.17/youtube-dl-2021.12.17.tar.gz" "url": "https://github.com/yt-dlp/yt-dlp/releases/download/2023.03.04/yt-dlp.tar.gz"
}, },
"type": "library" "type": "library"
}, },
@ -9354,13 +9353,13 @@
"prefer-stable": false, "prefer-stable": false,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
"php": ">=7.3", "php": ">=7.4",
"ext-intl": "*", "ext-intl": "*",
"ext-json": "*" "ext-json": "*"
}, },
"platform-dev": [], "platform-dev": [],
"platform-overrides": { "platform-overrides": {
"php": "7.3.11" "php": "7.4.33"
}, },
"plugin-api-version": "2.3.0" "plugin-api-version": "2.3.0"
} }

View File

@ -1,6 +1,6 @@
--- ---
# Path to your youtube-dl binary # Path to your youtube-dl binary
youtubedl: vendor/ytdl-org/youtube-dl/youtube_dl/__main__.py youtubedl: vendor/yt-dlp/yt-dlp/yt_dlp/__main__.py
# Path to your python binary # Path to your python binary
python: /usr/bin/python python: /usr/bin/python
@ -12,6 +12,8 @@ params:
- --flat-playlist - --flat-playlist
- --restrict-filenames - --restrict-filenames
- --no-playlist - --no-playlist
- --use-extractors
- default,-generic
# True to enable audio conversion # True to enable audio conversion
convert: false convert: false

View File

@ -1,12 +0,0 @@
diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py
index 18d8dbcd6..4d3edfac3 100644
--- a/youtube_dl/extractor/__init__.py
+++ b/youtube_dl/extractor/__init__.py
@@ -13,7 +13,6 @@ except ImportError:
for name, klass in globals().items()
if name.endswith('IE') and name != 'GenericIE'
]
- _ALL_CLASSES.append(GenericIE)
def gen_extractor_classes():

View File

@ -18,7 +18,7 @@
{if $supportedLocale->getCountry()} {if $supportedLocale->getCountry()}
{$supportedLocale->getCountry()->getEmoji()} {$supportedLocale->getCountry()->getEmoji()}
{/if} {/if}
{$supportedLocale->getFullName()|ucfirst} {$supportedLocale->getFullName()}
</a> </a>
</li> </li>
{/if} {/if}

View File

@ -54,7 +54,7 @@ class LocaleTest extends ContainerTest
*/ */
public function testGetFullName() public function testGetFullName()
{ {
$this->assertEquals('français (France)', $this->localeObject->getFullName()); $this->assertEquals('Français (France)', $this->localeObject->getFullName());
} }
/** /**