update py2exe & build using its new 'freeze()' API

This commit is contained in:
Mike Fährmann
2022-10-25 11:20:04 +02:00
parent 2bdcd85ced
commit 6df03fe564

169
setup.py
View File

@@ -5,7 +5,6 @@ import re
import sys import sys
import os.path import os.path
import warnings import warnings
from setuptools import setup
def read(fname): def read(fname):
@@ -41,99 +40,105 @@ FILES = [
] ]
] ]
PACKAGES = [
"gallery_dl",
"gallery_dl.extractor",
"gallery_dl.downloader",
"gallery_dl.postprocessor",
]
DESCRIPTION = ("Command-line program to download image galleries and " DESCRIPTION = ("Command-line program to download image galleries and "
"collections from several image hosting sites") "collections from several image hosting sites")
LONG_DESCRIPTION = read("README.rst") LONG_DESCRIPTION = read("README.rst")
if "py2exe" in sys.argv: def build_py2exe():
try: from py2exe import freeze
import py2exe
except ImportError:
sys.exit("Error importing 'py2exe'")
# py2exe dislikes version specifiers with a trailing '-dev' # py2exe dislikes version specifiers with a trailing '-dev'
VERSION = VERSION.partition("-")[0] VERSION_ = VERSION.partition("-")[0]
params = { freeze(
"console": [{ console=[{
"script" : "./gallery_dl/__main__.py", "script" : "./gallery_dl/__main__.py",
"dest_base" : "gallery-dl", "dest_base" : "gallery-dl",
"version" : VERSION, }],
version_info={
"version" : VERSION_,
"description" : DESCRIPTION, "description" : DESCRIPTION,
"comments" : LONG_DESCRIPTION, "comments" : LONG_DESCRIPTION,
"product_name" : "gallery-dl", "product_name" : "gallery-dl",
"product_version": VERSION, "product_version": VERSION_,
}], },
"options": {"py2exe": { options={
"bundle_files": 0, "bundle_files" : 0,
"compressed" : 1, "compressed" : 1,
"optimize" : 1, "optimize" : 1,
"dist_dir" : ".", "dist_dir" : "./dist",
"packages" : ["gallery_dl"], "packages" : PACKAGES,
"includes" : ["youtube_dl"], "includes" : ["youtube_dl"],
"dll_excludes": ["w9xpopen.exe"], "dll_excludes" : ["w9xpopen.exe"],
}}, },
"zipfile": None, zipfile=None,
} )
def build_setuptools():
from setuptools import setup
setup(
name="gallery_dl",
version=VERSION,
description=DESCRIPTION,
long_description=LONG_DESCRIPTION,
url="https://github.com/mikf/gallery-dl",
download_url="https://github.com/mikf/gallery-dl/releases/latest",
author="Mike Fährmann",
author_email="mike_faehrmann@web.de",
maintainer="Mike Fährmann",
maintainer_email="mike_faehrmann@web.de",
license="GPLv2",
python_requires=">=3.4",
install_requires=[
"requests>=2.11.0",
],
extras_require={
"video": [
"youtube-dl",
],
},
entry_points={
"console_scripts": [
"gallery-dl = gallery_dl:main",
],
},
packages=PACKAGES,
data_files=FILES,
test_suite="test",
keywords="image gallery downloader crawler scraper",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Operating System :: MacOS",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Multimedia :: Graphics",
"Topic :: Utilities",
],
)
if "py2exe" in sys.argv:
build_py2exe()
else: else:
params = {} build_setuptools()
setup(
name="gallery_dl",
version=VERSION,
description=DESCRIPTION,
long_description=LONG_DESCRIPTION,
url="https://github.com/mikf/gallery-dl",
download_url="https://github.com/mikf/gallery-dl/releases/latest",
author="Mike Fährmann",
author_email="mike_faehrmann@web.de",
maintainer="Mike Fährmann",
maintainer_email="mike_faehrmann@web.de",
license="GPLv2",
python_requires=">=3.4",
install_requires=[
"requests>=2.11.0",
],
extras_require={
"video": [
"youtube-dl",
],
},
packages=[
"gallery_dl",
"gallery_dl.extractor",
"gallery_dl.downloader",
"gallery_dl.postprocessor",
],
entry_points={
"console_scripts": [
"gallery-dl = gallery_dl:main",
],
},
data_files=FILES,
keywords="image gallery downloader crawler scraper",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Operating System :: MacOS",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Multimedia :: Graphics",
"Topic :: Utilities",
],
test_suite="test",
**params,
)