mirror of https://github.com/Rudloff/alltube.git
Compare commits
20 Commits
Author | SHA1 | Date |
---|---|---|
Pierre Rudloff | ec95a8f1b7 | |
Pierre Rudloff | a9da2314af | |
dependabot[bot] | fcb3d2e84c | |
Pierre Rudloff | f09b7b43d7 | |
dependabot[bot] | a4146a63c8 | |
Pierre Rudloff | 3e45f19682 | |
Pierre Rudloff | 9564764633 | |
Pierre Rudloff | 71647158d3 | |
Pierre Rudloff | b23ce88be8 | |
Pierre Rudloff | b52a582539 | |
Pierre Rudloff | 7bfe55fff6 | |
Pierre Rudloff | 9d8bff3c42 | |
Pierre Rudloff | 2bef4d551d | |
Pierre Rudloff | f475fa2a47 | |
Pierre Rudloff | 8e6e88a2b2 | |
Pierre Rudloff | 2d60fd32ef | |
Pierre Rudloff | f32412e861 | |
Samuel Tan | d060650833 | |
Pierre Rudloff | 4e09393fd9 | |
Pierre Rudloff | 5d5a6624b8 |
|
@ -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 }}
|
||||||
|
|
|
@ -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
|
||||||
|
@ -10,4 +9,7 @@ COPY resources/php.ini /usr/local/etc/php/
|
||||||
COPY . /var/www/html/
|
COPY . /var/www/html/
|
||||||
RUN php composer.phar check-platform-reqs --no-dev
|
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 chmod 770 -R /var/www/html/templates_c/
|
||||||
|
RUN chown www-data -R /var/www/html/templates_c/
|
||||||
ENV CONVERT=1
|
ENV CONVERT=1
|
||||||
|
|
|
@ -19,90 +19,97 @@ use Jawira\CaseConverter\Convert;
|
||||||
*/
|
*/
|
||||||
class Config
|
class Config
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* youtube-dl binary path.
|
* youtube-dl binary path.
|
||||||
*
|
*
|
||||||
* @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.
|
||||||
|
@ -110,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',
|
||||||
|
@ -135,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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -12,7 +12,6 @@ use Throwable;
|
||||||
*/
|
*/
|
||||||
class ErrorHandler
|
class ErrorHandler
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Last resort if the error has not been caught by the Slim error handler for some reason.
|
* Last resort if the error has not been caught by the Slim error handler for some reason.
|
||||||
* @param Throwable $e
|
* @param Throwable $e
|
||||||
|
|
|
@ -10,5 +10,4 @@ use Exception;
|
||||||
*/
|
*/
|
||||||
class ConfigException extends Exception
|
class ConfigException extends Exception
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,5 +10,4 @@ use Exception;
|
||||||
*/
|
*/
|
||||||
class DependencyException extends Exception
|
class DependencyException extends Exception
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,6 @@ use Symfony\Component\ErrorHandler\Debug;
|
||||||
*/
|
*/
|
||||||
class ConfigFactory
|
class ConfigFactory
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Container $container
|
* @param Container $container
|
||||||
* @return Config
|
* @return Config
|
||||||
|
|
|
@ -18,7 +18,6 @@ use Slim\Container;
|
||||||
*/
|
*/
|
||||||
class DebugBarFactory
|
class DebugBarFactory
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Container $container
|
* @param Container $container
|
||||||
* @return DebugBar
|
* @return DebugBar
|
||||||
|
|
|
@ -13,7 +13,6 @@ use Slim\Container;
|
||||||
*/
|
*/
|
||||||
class LocaleManagerFactory
|
class LocaleManagerFactory
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Container $container
|
* @param Container $container
|
||||||
* @return LocaleManager
|
* @return LocaleManager
|
||||||
|
|
|
@ -15,7 +15,6 @@ use Symfony\Component\Console\Output\OutputInterface;
|
||||||
*/
|
*/
|
||||||
class LoggerFactory
|
class LoggerFactory
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Container $container
|
* @param Container $container
|
||||||
* @return LoggerManager
|
* @return LoggerManager
|
||||||
|
|
|
@ -15,7 +15,6 @@ use Slim\Container;
|
||||||
*/
|
*/
|
||||||
class SessionFactory
|
class SessionFactory
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current session.
|
* Get the current session.
|
||||||
*
|
*
|
||||||
|
|
|
@ -20,7 +20,6 @@ use SmartyException;
|
||||||
*/
|
*/
|
||||||
class ViewFactory
|
class ViewFactory
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Uri $uri
|
* @param Uri $uri
|
||||||
* @return Uri
|
* @return Uri
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -17,7 +17,6 @@ use Symfony\Component\Translation\Loader\PoFileLoader;
|
||||||
*/
|
*/
|
||||||
class LocaleManager
|
class LocaleManager
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Path to locales.
|
* Path to locales.
|
||||||
*/
|
*/
|
||||||
|
@ -28,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.
|
||||||
|
@ -49,7 +48,7 @@ class LocaleManager
|
||||||
*
|
*
|
||||||
* @var Translator
|
* @var Translator
|
||||||
*/
|
*/
|
||||||
private $translator;
|
private Translator $translator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LocaleManager constructor.
|
* LocaleManager constructor.
|
||||||
|
|
|
@ -15,7 +15,6 @@ use Slim\Http\Response;
|
||||||
*/
|
*/
|
||||||
class CspMiddleware
|
class CspMiddleware
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var Config
|
* @var Config
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -12,7 +12,6 @@ use Slim\Http\Response;
|
||||||
*/
|
*/
|
||||||
class LinkHeaderMiddleware
|
class LinkHeaderMiddleware
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @param Response $response
|
* @param Response $response
|
||||||
|
|
|
@ -14,7 +14,6 @@ use Robo\Tasks;
|
||||||
*/
|
*/
|
||||||
class ReleaseCommand extends Tasks
|
class ReleaseCommand extends Tasks
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create release archive
|
* Create release archive
|
||||||
* @return void
|
* @return void
|
||||||
|
@ -27,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();
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -20,7 +20,7 @@ class YoutubeChunkStream implements StreamInterface
|
||||||
*
|
*
|
||||||
* @var ResponseInterface
|
* @var ResponseInterface
|
||||||
*/
|
*/
|
||||||
private $response;
|
private ResponseInterface $response;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* YoutubeChunkStream constructor.
|
* YoutubeChunkStream constructor.
|
||||||
|
|
|
@ -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,17 +31,17 @@
|
||||||
"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": {
|
||||||
"consolidation/robo": "^2.1",
|
"consolidation/robo": "^3.0",
|
||||||
"enlightn/security-checker": "^1.4",
|
"enlightn/security-checker": "^1.4",
|
||||||
"ergebnis/composer-normalize": "^2.20",
|
"ergebnis/composer-normalize": "^2.20",
|
||||||
"insite/composer-dangling-locked-deps": "^0.2.1",
|
"insite/composer-dangling-locked-deps": "^0.2.1",
|
||||||
|
@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -88,10 +88,11 @@
|
||||||
"ergebnis/composer-normalize": true,
|
"ergebnis/composer-normalize": true,
|
||||||
"insite/composer-dangling-locked-deps": true,
|
"insite/composer-dangling-locked-deps": true,
|
||||||
"oomphinc/composer-installers-extender": true,
|
"oomphinc/composer-installers-extender": true,
|
||||||
|
"php-http/discovery": true,
|
||||||
"phpro/grumphp": true
|
"phpro/grumphp": true
|
||||||
},
|
},
|
||||||
"platform": {
|
"platform": {
|
||||||
"php": "7.3.11"
|
"php": "7.4.33"
|
||||||
},
|
},
|
||||||
"sort-packages": true
|
"sort-packages": true
|
||||||
},
|
},
|
||||||
|
@ -107,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",
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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
|
||||||
|
|
|
@ -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()}
|
{if $supportedLocale->getCountry()}
|
||||||
{$supportedLocale->getCountry()->getEmoji()}
|
{$supportedLocale->getCountry()->getEmoji()}
|
||||||
{/if}
|
{/if}
|
||||||
{$supportedLocale->getFullName()|ucfirst}
|
{$supportedLocale->getFullName()}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
|
@ -14,7 +14,6 @@ use Alltube\Exception\ConfigException;
|
||||||
*/
|
*/
|
||||||
class ConfigTest extends BaseTest
|
class ConfigTest extends BaseTest
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the getInstance function.
|
* Test the getInstance function.
|
||||||
*
|
*
|
||||||
|
|
|
@ -17,7 +17,6 @@ use SmartyException;
|
||||||
*/
|
*/
|
||||||
class ConvertedPlaylistArchiveStreamTest extends StreamTest
|
class ConvertedPlaylistArchiveStreamTest extends StreamTest
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prepare tests.
|
* Prepare tests.
|
||||||
*
|
*
|
||||||
|
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue