]>
Commit | Line | Data |
---|---|---|
2f1765c4 | 1 | #!/usr/bin/env python |
dcdb292f | 2 | # coding: utf-8 |
2f1765c4 | 3 | |
58ac65e7 | 4 | from setuptools import setup, Command, find_packages |
6c57e8a0 | 5 | import os.path |
6c57e8a0 | 6 | import warnings |
4efe62a0 | 7 | import sys |
5a9858bf | 8 | from distutils.spawn import spawn |
a32b573c | 9 | |
e38df8f9 | 10 | |
cefecac1 U |
11 | # Get the version from youtube_dlc/version.py without importing the package |
12 | exec(compile(open('youtube_dlc/version.py').read(), | |
13 | 'youtube_dlc/version.py', 'exec')) | |
3d4b08df | 14 | |
e38df8f9 | 15 | |
7bc877a2 | 16 | DESCRIPTION = 'Command-line program to download videos from YouTube.com and many other other video platforms.' |
17 | ||
18 | LONG_DESCRIPTION = '\n\n'.join(( | |
19 | 'Official repository: <https://github.com/pukkandan/yt-dlp>', | |
20 | '**PS**: Many links in this document will not work since this is a copy of the README.md from Github', | |
21 | open("README.md", "r", encoding="utf-8").read())) | |
770234af | 22 | |
5d25607a | 23 | REQUIREMENTS = ['mutagen', 'pycryptodome'] |
e38df8f9 | 24 | |
25 | ||
fec89790 | 26 | if len(sys.argv) >= 2 and sys.argv[1] == 'py2exe': |
94a538fa | 27 | print("inv") |
fec89790 | 28 | else: |
6c57e8a0 | 29 | files_spec = [ |
cefecac1 U |
30 | ('etc/bash_completion.d', ['youtube-dlc.bash-completion']), |
31 | ('etc/fish/completions', ['youtube-dlc.fish']), | |
32 | ('share/doc/youtube_dlc', ['README.txt']), | |
33 | ('share/man/man1', ['youtube-dlc.1']) | |
6c57e8a0 PH |
34 | ] |
35 | root = os.path.dirname(os.path.abspath(__file__)) | |
36 | data_files = [] | |
37 | for dirname, files in files_spec: | |
38 | resfiles = [] | |
39 | for fn in files: | |
40 | if not os.path.exists(fn): | |
41 | warnings.warn('Skipping file %s since it is not present. Type make to build all automatically generated files.' % fn) | |
42 | else: | |
43 | resfiles.append(fn) | |
44 | data_files.append((dirname, resfiles)) | |
45 | ||
fec89790 | 46 | params = { |
6c57e8a0 | 47 | 'data_files': data_files, |
a5741a3f | 48 | } |
cefecac1 | 49 | params['entry_points'] = {'console_scripts': ['youtube-dlc = youtube_dlc:main']} |
66c935fb | 50 | |
a5741a3f | 51 | |
5a9858bf | 52 | class build_lazy_extractors(Command): |
3d4b08df | 53 | description = 'Build the extractor lazy loading module' |
5a9858bf JMF |
54 | user_options = [] |
55 | ||
56 | def initialize_options(self): | |
57 | pass | |
58 | ||
59 | def finalize_options(self): | |
60 | pass | |
61 | ||
62 | def run(self): | |
63 | spawn( | |
cefecac1 | 64 | [sys.executable, 'devscripts/make_lazy_extractors.py', 'youtube_dlc/extractor/lazy_extractors.py'], |
5a9858bf JMF |
65 | dry_run=self.dry_run, |
66 | ) | |
67 | ||
66c935fb | 68 | |
e38df8f9 | 69 | packages = find_packages(exclude=("youtube_dl", "test", "ytdlp_plugins")) |
66c935fb | 70 | |
cc51a7d4 | 71 | setup( |
7bc877a2 | 72 | name="yt-dlp", |
652e7768 | 73 | version=__version__, |
7bc877a2 | 74 | maintainer="pukkandan", |
75 | maintainer_email="pukkandan@gmail.com", | |
3d4b08df S |
76 | description=DESCRIPTION, |
77 | long_description=LONG_DESCRIPTION, | |
7bc877a2 | 78 | long_description_content_type="text/markdown", |
17fa3ee2 | 79 | url="https://github.com/pukkandan/yt-dlp", |
66c935fb | 80 | packages=packages, |
e38df8f9 | 81 | install_requires=REQUIREMENTS, |
7bc877a2 | 82 | project_urls={ |
83 | 'Documentation': 'https://github.com/pukkandan/yt-dlp#yt-dlp', | |
84 | 'Source': 'https://github.com/pukkandan/yt-dlp', | |
85 | 'Tracker': 'https://github.com/pukkandan/yt-dlp/issues', | |
86 | #'Funding': 'https://donate.pypi.org', | |
87 | }, | |
652e7768 | 88 | classifiers=[ |
94a538fa U |
89 | "Topic :: Multimedia :: Video", |
90 | "Development Status :: 5 - Production/Stable", | |
91 | "Environment :: Console", | |
92 | "Programming Language :: Python", | |
93 | "Programming Language :: Python :: 2", | |
94 | "Programming Language :: Python :: 2.6", | |
95 | "Programming Language :: Python :: 2.7", | |
96 | "Programming Language :: Python :: 3", | |
97 | "Programming Language :: Python :: 3.2", | |
98 | "Programming Language :: Python :: 3.3", | |
99 | "Programming Language :: Python :: 3.4", | |
100 | "Programming Language :: Python :: 3.5", | |
101 | "Programming Language :: Python :: 3.6", | |
102 | "Programming Language :: Python :: 3.7", | |
103 | "Programming Language :: Python :: 3.8", | |
104 | "Programming Language :: Python :: Implementation", | |
105 | "Programming Language :: Python :: Implementation :: CPython", | |
106 | "Programming Language :: Python :: Implementation :: IronPython", | |
107 | "Programming Language :: Python :: Implementation :: Jython", | |
108 | "Programming Language :: Python :: Implementation :: PyPy", | |
109 | "License :: Public Domain", | |
110 | "Operating System :: OS Independent", | |
a5741a3f | 111 | ], |
94a538fa U |
112 | python_requires='>=2.6', |
113 | ||
114 | cmdclass={'build_lazy_extractors': build_lazy_extractors}, | |
fec89790 | 115 | **params |
6515018d | 116 | ) |