Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
XianxinMao
Yt Dlp
提交
c1714454
Y
Yt Dlp
项目概览
XianxinMao
/
Yt Dlp
12 个月 前同步成功
通知
27
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
Yt Dlp
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
c1714454
编写于
4月 27, 2022
作者:
P
pukkandan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[cleanup,build] Cleanup some build-related code
Fixes an issue in
7ab56be2
上级
4f809523
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
60 addition
and
38 deletion
+60
-38
Makefile
Makefile
+4
-1
devscripts/bash-completion.py
devscripts/bash-completion.py
+1
-1
devscripts/fish-completion.py
devscripts/fish-completion.py
+1
-1
devscripts/make_issue_template.py
devscripts/make_issue_template.py
+13
-11
devscripts/make_lazy_extractors.py
devscripts/make_lazy_extractors.py
+1
-1
devscripts/zsh-completion.py
devscripts/zsh-completion.py
+1
-1
pyinst.py
pyinst.py
+23
-16
setup.py
setup.py
+16
-6
未找到文件。
Makefile
浏览文件 @
c1714454
...
...
@@ -22,7 +22,9 @@ clean-dist:
rm
-rf
yt-dlp.1.temp.md yt-dlp.1 README.txt MANIFEST build/ dist/ .coverage cover/ yt-dlp.tar.gz completions/
\
yt_dlp/extractor/lazy_extractors.py
*
.spec CONTRIBUTING.md.tmp yt-dlp yt-dlp.exe yt_dlp.egg-info/ AUTHORS .mailmap
clean-cache
:
find
.
\(
-name
"*.pyc"
-o
-name
"*.class"
\)
-delete
find
.
\(
\
-type
d
-name
.pytest_cache
-o
-type
d
-name
__pycache__
-o
-name
"*.pyc"
-o
-name
"*.class"
\
\)
-prune
-exec
rm
-rf
{}
\;
completion-bash
:
completions/bash/yt-dlp
completion-fish
:
completions/fish/yt-dlp.fish
...
...
@@ -131,6 +133,7 @@ yt-dlp.tar.gz: all
--exclude
'*.pyo'
\
--exclude
'*~'
\
--exclude
'__pycache__'
\
--exclude
'.pytest_cache'
\
--exclude
'.git'
\
--
\
README.md supportedsites.md Changelog.md LICENSE
\
...
...
devscripts/bash-completion.py
浏览文件 @
c1714454
...
...
@@ -24,5 +24,5 @@ def build_completion(opt_parser):
f
.
write
(
filled_template
)
parser
=
yt_dlp
.
parseOpts
()[
0
]
parser
=
yt_dlp
.
parseOpts
(
ignore_config_files
=
True
)[
0
]
build_completion
(
parser
)
devscripts/fish-completion.py
浏览文件 @
c1714454
...
...
@@ -44,5 +44,5 @@ def build_completion(opt_parser):
f
.
write
(
filled_template
)
parser
=
yt_dlp
.
parseOpts
()[
0
]
parser
=
yt_dlp
.
parseOpts
(
ignore_config_files
=
True
)[
0
]
build_completion
(
parser
)
devscripts/make_issue_template.py
浏览文件 @
c1714454
...
...
@@ -3,6 +3,17 @@
import
optparse
def
read
(
fname
):
with
open
(
fname
,
encoding
=
'utf-8'
)
as
f
:
return
f
.
read
()
# Get the version from yt_dlp/version.py without importing the package
def
read_version
(
fname
):
exec
(
compile
(
read
(
fname
),
fname
,
'exec'
))
return
locals
()[
'__version__'
]
def
main
():
parser
=
optparse
.
OptionParser
(
usage
=
'%prog INFILE OUTFILE'
)
options
,
args
=
parser
.
parse_args
()
...
...
@@ -10,18 +21,9 @@ def main():
parser
.
error
(
'Expected an input and an output filename'
)
infile
,
outfile
=
args
with
open
(
infile
,
encoding
=
'utf-8'
)
as
inf
:
issue_template_tmpl
=
inf
.
read
()
# Get the version from yt_dlp/version.py without importing the package
exec
(
compile
(
open
(
'yt_dlp/version.py'
).
read
(),
'yt_dlp/version.py'
,
'exec'
))
out
=
issue_template_tmpl
%
{
'version'
:
locals
()[
'__version__'
]}
with
open
(
outfile
,
'w'
,
encoding
=
'utf-8'
)
as
outf
:
outf
.
write
(
out
)
outf
.
write
(
read
(
infile
)
%
{
'version'
:
read_version
(
'yt_dlp/version.py'
)})
if
__name__
==
'__main__'
:
...
...
devscripts/make_lazy_extractors.py
浏览文件 @
c1714454
...
...
@@ -21,7 +21,7 @@
if
os
.
path
.
exists
(
plugins_blocked_dirname
):
os
.
rename
(
plugins_blocked_dirname
,
plugins_dirname
)
with
open
(
'devscripts/lazy_load_template.py'
)
as
f
:
with
open
(
'devscripts/lazy_load_template.py'
,
encoding
=
'utf-8'
)
as
f
:
module_template
=
f
.
read
()
CLASS_PROPERTIES
=
[
'ie_key'
,
'working'
,
'_match_valid_url'
,
'suitable'
,
'_match_id'
,
'get_temp_id'
]
...
...
devscripts/zsh-completion.py
浏览文件 @
c1714454
...
...
@@ -43,5 +43,5 @@ def build_completion(opt_parser):
f
.
write
(
template
)
parser
=
yt_dlp
.
parseOpts
()[
0
]
parser
=
yt_dlp
.
parseOpts
(
ignore_config_files
=
True
)[
0
]
build_completion
(
parser
)
pyinst.py
浏览文件 @
c1714454
...
...
@@ -3,7 +3,7 @@
import
platform
import
sys
from
PyInstaller.
utils.hooks
import
collect_submodules
from
PyInstaller.
__main__
import
run
as
run_pyinstaller
OS_NAME
=
platform
.
system
()
if
OS_NAME
==
'Windows'
:
...
...
@@ -20,18 +20,22 @@
elif
OS_NAME
==
'Darwin'
:
pass
else
:
raise
Exception
(
'{OS_NAME} is not supported'
)
raise
Exception
(
f
'
{
OS_NAME
}
is not supported'
)
ARCH
=
platform
.
architecture
()[
0
][:
2
]
def
main
():
opts
=
parse_options
()
version
=
read_version
()
version
=
read_version
(
'yt_dlp/version.py'
)
onedir
=
'--onedir'
in
opts
or
'-D'
in
opts
if
not
onedir
and
'-F'
not
in
opts
and
'--onefile'
not
in
opts
:
opts
.
append
(
'--onefile'
)
suffix
=
'_macos'
if
OS_NAME
==
'Darwin'
else
'_x86'
if
ARCH
==
'32'
else
''
final_file
=
'dist/%syt-dlp%s%s'
%
(
'yt-dlp/'
if
'--onedir'
in
opts
else
''
,
suffix
,
'.exe'
if
OS_NAME
==
'Windows'
else
''
)
'yt-dlp/'
if
onedir
else
''
,
suffix
,
'.exe'
if
OS_NAME
==
'Windows'
else
''
)
print
(
f
'Building yt-dlp v
{
version
}
{
ARCH
}
bit for
{
OS_NAME
}
with options
{
opts
}
'
)
print
(
'Remember to update the version using "devscripts/update-version.py"'
)
...
...
@@ -45,17 +49,16 @@ def main():
'--icon=devscripts/logo.ico'
,
'--upx-exclude=vcruntime140.dll'
,
'--noconfirm'
,
# NB: Modules that are only imported dynamically must be added here.
# --collect-submodules may not work correctly if user has a yt-dlp installed via PIP
'--hidden-import=yt_dlp.compat._legacy'
,
*
dependency_options
(),
*
opts
,
'--collect-submodules=yt_dlp'
,
'yt_dlp/__main__.py'
,
]
print
(
f
'Running PyInstaller with
{
opts
}
'
)
import
PyInstaller.__main__
PyInstaller
.
__main__
.
run
(
opts
)
print
(
f
'Running PyInstaller with
{
opts
}
'
)
run_pyinstaller
(
opts
)
set_version_info
(
final_file
,
version
)
...
...
@@ -66,12 +69,14 @@ def parse_options():
if
ARCH
!=
opts
[
0
]:
raise
Exception
(
f
'
{
opts
[
0
]
}
bit executable cannot be built on a
{
ARCH
}
bit system'
)
opts
=
opts
[
1
:]
return
opts
or
[
'--onefile'
]
return
opts
def
read_version
():
exec
(
compile
(
open
(
'yt_dlp/version.py'
).
read
(),
'yt_dlp/version.py'
,
'exec'
))
return
locals
()[
'__version__'
]
# Get the version from yt_dlp/version.py without importing the package
def
read_version
(
fname
):
with
open
(
fname
,
encoding
=
'utf-8'
)
as
f
:
exec
(
compile
(
f
.
read
(),
fname
,
'exec'
))
return
locals
()[
'__version__'
]
def
version_to_list
(
version
):
...
...
@@ -80,10 +85,12 @@ def version_to_list(version):
def
dependency_options
():
dependencies
=
[
pycryptodome_module
(),
'mutagen'
,
'brotli'
,
'certifi'
]
+
collect_submodules
(
'websockets'
)
excluded_modules
=
[
'test'
,
'ytdlp_plugins'
,
'youtube-dl'
,
'youtube-dlc'
]
# Due to the current implementation, these are auto-detected, but explicitly add them just in case
dependencies
=
[
pycryptodome_module
(),
'mutagen'
,
'brotli'
,
'certifi'
,
'websockets'
]
excluded_modules
=
[
'test'
,
'ytdlp_plugins'
,
'youtube_dl'
,
'youtube_dlc'
]
yield
from
(
f
'--hidden-import=
{
module
}
'
for
module
in
dependencies
)
yield
'--collect-submodules=websockets'
yield
from
(
f
'--exclude-module=
{
module
}
'
for
module
in
excluded_modules
)
...
...
setup.py
浏览文件 @
c1714454
...
...
@@ -11,18 +11,28 @@
setuptools_available
=
False
from
distutils.spawn
import
spawn
def
read
(
fname
):
with
open
(
fname
,
encoding
=
'utf-8'
)
as
f
:
return
f
.
read
()
# Get the version from yt_dlp/version.py without importing the package
exec
(
compile
(
open
(
'yt_dlp/version.py'
).
read
(),
'yt_dlp/version.py'
,
'exec'
))
def
read_version
(
fname
):
exec
(
compile
(
read
(
fname
),
fname
,
'exec'
))
return
locals
()[
'__version__'
]
VERSION
=
read_version
(
'yt_dlp/version.py'
)
DESCRIPTION
=
'A youtube-dl fork with additional features and patches'
LONG_DESCRIPTION
=
'
\n\n
'
.
join
((
'Official repository: <https://github.com/yt-dlp/yt-dlp>'
,
'**PS**: Some links in this document will not work since this is a copy of the README.md from Github'
,
open
(
'README.md'
,
encoding
=
'utf-8'
).
read
(
)))
read
(
'README.md'
)))
REQUIREMENTS
=
open
(
'requirements.txt'
,
encoding
=
'utf-8'
).
read
(
).
splitlines
()
REQUIREMENTS
=
read
(
'requirements.txt'
).
splitlines
()
if
sys
.
argv
[
1
:
2
]
==
[
'py2exe'
]:
...
...
@@ -34,11 +44,11 @@
'console'
:
[{
'script'
:
'./yt_dlp/__main__.py'
,
'dest_base'
:
'yt-dlp'
,
'version'
:
__version__
,
'version'
:
VERSION
,
'description'
:
DESCRIPTION
,
'comments'
:
LONG_DESCRIPTION
.
split
(
'
\n
'
)[
0
],
'product_name'
:
'yt-dlp'
,
'product_version'
:
__version__
,
'product_version'
:
VERSION
,
}],
'options'
:
{
'py2exe'
:
{
...
...
@@ -107,7 +117,7 @@ def run(self):
setup
(
name
=
'yt-dlp'
,
version
=
__version__
,
version
=
VERSION
,
maintainer
=
'pukkandan'
,
maintainer_email
=
'pukkandan.ytdlp@gmail.com'
,
description
=
DESCRIPTION
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录