1
0
mirror of https://github.com/mikf/gallery-dl.git synced 2024-11-23 03:02:50 +01:00
gallery-dl/setup.py
Mike Fährmann c35217e9a3
specify version requirements for urllib3
urllib3 versions 1.24.1 and 1.24.2 cause HTTP requests to
https://www.artstation.com/users/<username>/quick.json
to fail with a 403: Forbidden status code (#227),
and provoke a CAPTCHA response after solving a Cloudflare challenge.
2019-04-26 12:58:20 +02:00

136 lines
3.7 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import unicode_literals, print_function
import sys
import os.path
import warnings
if sys.hexversion < 0x3040000:
sys.exit("Python 3.4+ required")
try:
from setuptools import setup
has_setuptools = True
except ImportError:
from distutils.core import setup
has_setuptools = False
def read(fname):
path = os.path.join(os.path.dirname(__file__), fname)
with open(path, encoding="utf-8") as file:
return file.read()
def check_file(fname):
if os.path.exists(fname):
return True
warnings.warn(
"Not including file '{}' since it is not present. "
"Run 'make' to build all automatically generated files.".format(fname)
)
return False
# get version without importing the package
exec(read("gallery_dl/version.py"))
DESCRIPTION = ("Command-line program to download image-galleries and "
"-collections from several image hosting sites")
LONG_DESCRIPTION = read("README.rst")
if "py2exe" in sys.argv:
try:
import py2exe
except ImportError:
sys.exit("Error importing 'py2exe'")
params = {
"console": [{
"script": "./gallery_dl/__main__.py",
"dest_base": "gallery-dl",
"version": __version__,
"description": DESCRIPTION,
"comments": LONG_DESCRIPTION,
"product_name": "gallery-dl",
"product_version": __version__,
}],
"options": {"py2exe": {
"bundle_files": 0,
"compressed": 1,
"optimize": 1,
"dist_dir": ".",
"packages": ["gallery_dl"],
"dll_excludes": ["w9xpopen.exe"],
}},
"zipfile": None,
}
elif has_setuptools:
params = {
"entry_points": {
"console_scripts": [
"gallery-dl = gallery_dl:main"
]
}
}
else:
params = {
"scripts": ["bin/gallery-dl"]
}
data_files = [
(path, [f for f in files if check_file(f)])
for (path, files) in [
('etc/bash_completion.d', ['gallery-dl.bash_completion']),
('share/man/man1' , ['gallery-dl.1']),
('share/man/man5' , ['gallery-dl.conf.5']),
]
]
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",
"urllib3>=1.16, !=1.24.1, !=1.24.2",
],
packages=[
"gallery_dl",
"gallery_dl.extractor",
"gallery_dl.downloader",
"gallery_dl.postprocessor",
],
data_files=data_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 :: Only",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Multimedia :: Graphics",
"Topic :: Utilities",
],
test_suite="test",
**params
)