Merge branch 'release/3.2.0-alpha'
This commit is contained in:
commit
ec95a8f1b7
15 changed files with 70 additions and 75 deletions
3
.github/workflows/ci.yml
vendored
3
.github/workflows/ci.yml
vendored
|
@ -9,8 +9,9 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
php-version:
|
||||
- '7.3'
|
||||
- '7.4'
|
||||
- '8.0'
|
||||
- '8.1'
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use PHP ${{ matrix.php-version }}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
FROM php:7.3-apache
|
||||
FROM php:7.4-apache
|
||||
RUN apt-get update
|
||||
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 gmp
|
||||
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 mkdir /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
|
||||
|
|
|
@ -24,84 +24,92 @@ class Config
|
|||
*
|
||||
* @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.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $python = '/usr/bin/python';
|
||||
public string $python = '/usr/bin/python';
|
||||
|
||||
/**
|
||||
* youtube-dl parameters.
|
||||
*
|
||||
* @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.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
public $convert = false;
|
||||
public bool $convert = false;
|
||||
|
||||
/**
|
||||
* Enable advanced conversion mode.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
public $convertAdvanced = false;
|
||||
public bool $convertAdvanced = false;
|
||||
|
||||
/**
|
||||
* List of formats available in advanced conversion mode.
|
||||
*
|
||||
* @var string[]
|
||||
*/
|
||||
public $convertAdvancedFormats = ['mp3', 'avi', 'flv', 'wav'];
|
||||
public array $convertAdvancedFormats = ['mp3', 'avi', 'flv', 'wav'];
|
||||
|
||||
/**
|
||||
* ffmpeg binary path.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $ffmpeg = '/usr/bin/ffmpeg';
|
||||
public string $ffmpeg = '/usr/bin/ffmpeg';
|
||||
|
||||
/**
|
||||
* Path to the directory that contains the phantomjs binary.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $phantomjsDir = '/usr/bin/';
|
||||
public string $phantomjsDir = '/usr/bin/';
|
||||
|
||||
/**
|
||||
* Disable URL rewriting.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
public $uglyUrls = false;
|
||||
public bool $uglyUrls = false;
|
||||
|
||||
/**
|
||||
* Stream downloaded files trough server?
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
public $stream = false;
|
||||
public bool $stream = false;
|
||||
|
||||
/**
|
||||
* Allow to remux video + audio?
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
public $remux = false;
|
||||
public bool $remux = false;
|
||||
|
||||
/**
|
||||
* MP3 bitrate when converting (in kbit/s).
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
public $audioBitrate = 128;
|
||||
public int $audioBitrate = 128;
|
||||
|
||||
/**
|
||||
* ffmpeg logging level.
|
||||
|
@ -109,21 +117,21 @@ class Config
|
|||
*
|
||||
* @var string
|
||||
*/
|
||||
public $ffmpegVerbosity = 'error';
|
||||
public string $ffmpegVerbosity = 'error';
|
||||
|
||||
/**
|
||||
* App name.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $appName = 'AllTube Download';
|
||||
public string $appName = 'AllTube Download';
|
||||
|
||||
/**
|
||||
* Generic formats supported by youtube-dl.
|
||||
*
|
||||
* @var string[]
|
||||
*/
|
||||
public $genericFormats = [
|
||||
public array $genericFormats = [
|
||||
'best/bestvideo' => 'Best',
|
||||
'bestvideo+bestaudio' => 'Remux best video with best audio',
|
||||
'worst/worstvideo' => 'Worst',
|
||||
|
@ -134,21 +142,21 @@ class Config
|
|||
*
|
||||
* @var bool
|
||||
*/
|
||||
public $debug = false;
|
||||
public bool $debug = false;
|
||||
|
||||
/**
|
||||
* Default to audio.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
public $defaultAudio = false;
|
||||
public bool $defaultAudio = false;
|
||||
|
||||
/**
|
||||
* Disable audio conversion from/to seeker.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
public $convertSeek = true;
|
||||
public bool $convertSeek = true;
|
||||
|
||||
/**
|
||||
* Config constructor.
|
||||
|
|
|
@ -30,21 +30,21 @@ abstract class BaseController
|
|||
*
|
||||
* @var Video
|
||||
*/
|
||||
protected $video;
|
||||
protected Video $video;
|
||||
|
||||
/**
|
||||
* Default youtube-dl format.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $defaultFormat = 'best/bestvideo';
|
||||
protected string $defaultFormat = 'best/bestvideo';
|
||||
|
||||
/**
|
||||
* Slim dependency container.
|
||||
*
|
||||
* @var ContainerInterface
|
||||
*/
|
||||
protected $container;
|
||||
protected ContainerInterface $container;
|
||||
|
||||
/**
|
||||
* Config instance.
|
||||
|
|
|
@ -60,7 +60,7 @@ class Locale
|
|||
*/
|
||||
public function getFullName(): string
|
||||
{
|
||||
return PHPLocale::getDisplayName($this->getIso15897(), $this->getIso15897());
|
||||
return mb_convert_case(PHPLocale::getDisplayName($this->getIso15897(), $this->getIso15897()), MB_CASE_TITLE);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -27,14 +27,14 @@ class LocaleManager
|
|||
*
|
||||
* @var Locale|null
|
||||
*/
|
||||
private $curLocale;
|
||||
private ?Locale $curLocale = null;
|
||||
|
||||
/**
|
||||
* Session segment used to store session variables.
|
||||
*
|
||||
* @var Segment
|
||||
*/
|
||||
private $sessionSegment;
|
||||
private Segment $sessionSegment;
|
||||
|
||||
/**
|
||||
* Default locale.
|
||||
|
@ -48,7 +48,7 @@ class LocaleManager
|
|||
*
|
||||
* @var Translator
|
||||
*/
|
||||
private $translator;
|
||||
private Translator $translator;
|
||||
|
||||
/**
|
||||
* LocaleManager constructor.
|
||||
|
|
|
@ -26,6 +26,7 @@ class ReleaseCommand extends Tasks
|
|||
$gitTask = $this->taskExec('git');
|
||||
$result = $gitTask
|
||||
->arg('describe')
|
||||
->interactive(false)
|
||||
->run();
|
||||
|
||||
$tmpDir = $this->_tmpDir();
|
||||
|
|
|
@ -24,7 +24,7 @@ class PlaylistArchiveStream extends ZipArchive implements StreamInterface
|
|||
*
|
||||
* @var Video[]
|
||||
*/
|
||||
private $videos = [];
|
||||
private array $videos = [];
|
||||
|
||||
/**
|
||||
* Stream used to store data before it is sent to the browser.
|
||||
|
@ -38,21 +38,21 @@ class PlaylistArchiveStream extends ZipArchive implements StreamInterface
|
|||
*
|
||||
* @var StreamInterface
|
||||
*/
|
||||
protected $curVideoStream;
|
||||
protected StreamInterface $curVideoStream;
|
||||
|
||||
/**
|
||||
* True if the archive is complete.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
private $isComplete = false;
|
||||
private bool $isComplete = false;
|
||||
|
||||
/**
|
||||
* Downloader object.
|
||||
*
|
||||
* @var Downloader
|
||||
*/
|
||||
protected $downloader;
|
||||
protected Downloader $downloader;
|
||||
|
||||
/**
|
||||
* PlaylistArchiveStream constructor.
|
||||
|
|
|
@ -20,7 +20,7 @@ class YoutubeChunkStream implements StreamInterface
|
|||
*
|
||||
* @var ResponseInterface
|
||||
*/
|
||||
private $response;
|
||||
private ResponseInterface $response;
|
||||
|
||||
/**
|
||||
* YoutubeChunkStream constructor.
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=7.3",
|
||||
"php": ">=7.4",
|
||||
"ext-intl": "*",
|
||||
"ext-json": "*",
|
||||
"aura/session": "^2.1",
|
||||
|
@ -31,13 +31,13 @@
|
|||
"mathmarques/smarty-view": "^1.2",
|
||||
"oomphinc/composer-installers-extender": "^2.0",
|
||||
"paragonie/csp-builder": "^2.5",
|
||||
"rinvex/countries": "^6.1",
|
||||
"rinvex/countries": "^7.3",
|
||||
"rudloff/alltube-library": "^0.1.3",
|
||||
"symfony/finder": "^5.4",
|
||||
"symfony/translation": "^4.0",
|
||||
"symfony/yaml": "^4.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"
|
||||
},
|
||||
"require-dev": {
|
||||
|
@ -62,11 +62,11 @@
|
|||
{
|
||||
"type": "package",
|
||||
"package": {
|
||||
"name": "ytdl-org/youtube-dl",
|
||||
"version": "2021.12.17",
|
||||
"name": "yt-dlp/yt-dlp",
|
||||
"version": "2023.03.04",
|
||||
"dist": {
|
||||
"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
|
||||
},
|
||||
"platform": {
|
||||
"php": "7.3.11"
|
||||
"php": "7.4.33"
|
||||
},
|
||||
"sort-packages": true
|
||||
},
|
||||
|
@ -108,11 +108,7 @@
|
|||
"installer-types": [
|
||||
"library"
|
||||
],
|
||||
"patches": {
|
||||
"ytdl-org/youtube-dl": {
|
||||
"Disable the generic extractor": "patches/youtube-dl-disable-generic.diff"
|
||||
}
|
||||
}
|
||||
"patches": {}
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "grumphp run --ansi",
|
||||
|
|
29
composer.lock
generated
29
composer.lock
generated
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "6f7b900aafa876f17e0815ca6fa044a5",
|
||||
"content-hash": "02f288a60af3784e20ca7e1ba9afac4a",
|
||||
"packages": [
|
||||
{
|
||||
"name": "aura/session",
|
||||
|
@ -2037,25 +2037,24 @@
|
|||
},
|
||||
{
|
||||
"name": "rinvex/countries",
|
||||
"version": "v6.1.2",
|
||||
"version": "v7.3.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/rinvex/countries.git",
|
||||
"reference": "0dd9da817c1faa33429fe56b8ba059fdabe6e0fe"
|
||||
"reference": "4696d23976e27d6cedf7e55db3fa24e11924b727"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/rinvex/countries/zipball/0dd9da817c1faa33429fe56b8ba059fdabe6e0fe",
|
||||
"reference": "0dd9da817c1faa33429fe56b8ba059fdabe6e0fe",
|
||||
"url": "https://api.github.com/repos/rinvex/countries/zipball/4696d23976e27d6cedf7e55db3fa24e11924b727",
|
||||
"reference": "4696d23976e27d6cedf7e55db3fa24e11924b727",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2.0"
|
||||
"php": "^7.4.0 || ^8.0.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"codedungeon/phpunit-result-printer": "^0.26.0",
|
||||
"laravel/helpers": "^1.1.0",
|
||||
"phpunit/phpunit": "^8.3.0"
|
||||
"codedungeon/phpunit-result-printer": "^0.30.0",
|
||||
"phpunit/phpunit": "^9.5.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
|
@ -2117,7 +2116,7 @@
|
|||
"issues": "https://github.com/rinvex/countries/issues",
|
||||
"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",
|
||||
|
@ -3768,11 +3767,11 @@
|
|||
"time": "2014-08-20T20:43:34+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ytdl-org/youtube-dl",
|
||||
"version": "2021.12.17",
|
||||
"name": "yt-dlp/yt-dlp",
|
||||
"version": "2023.03.04",
|
||||
"dist": {
|
||||
"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"
|
||||
},
|
||||
|
@ -9354,13 +9353,13 @@
|
|||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": ">=7.3",
|
||||
"php": ">=7.4",
|
||||
"ext-intl": "*",
|
||||
"ext-json": "*"
|
||||
},
|
||||
"platform-dev": [],
|
||||
"platform-overrides": {
|
||||
"php": "7.3.11"
|
||||
"php": "7.4.33"
|
||||
},
|
||||
"plugin-api-version": "2.3.0"
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
# 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
|
||||
python: /usr/bin/python
|
||||
|
@ -12,6 +12,8 @@ params:
|
|||
- --flat-playlist
|
||||
- --restrict-filenames
|
||||
- --no-playlist
|
||||
- --use-extractors
|
||||
- default,-generic
|
||||
|
||||
# True to enable audio conversion
|
||||
convert: false
|
||||
|
|
|
@ -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():
|
|
@ -18,7 +18,7 @@
|
|||
{if $supportedLocale->getCountry()}
|
||||
{$supportedLocale->getCountry()->getEmoji()}
|
||||
{/if}
|
||||
{$supportedLocale->getFullName()|ucfirst}
|
||||
{$supportedLocale->getFullName()}
|
||||
</a>
|
||||
</li>
|
||||
{/if}
|
||||
|
|
|
@ -54,7 +54,7 @@ class LocaleTest extends ContainerTest
|
|||
*/
|
||||
public function testGetFullName()
|
||||
{
|
||||
$this->assertEquals('français (France)', $this->localeObject->getFullName());
|
||||
$this->assertEquals('Français (France)', $this->localeObject->getFullName());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue