2018-09-19 13:05:39 -07:00
|
|
|
# Setup file for comictagger python source (no wheels yet)
|
|
|
|
#
|
2020-08-14 22:15:52 -07:00
|
|
|
# The install process will attempt to compile the unrar lib from source.
|
|
|
|
# If it succeeds, the unrar lib binary will be installed with the python
|
|
|
|
# source. If it fails, install will just continue. On most Linux systems it
|
|
|
|
# should just work. (Tested on a Mac system with homebrew, as well)
|
|
|
|
#
|
2018-09-19 13:05:39 -07:00
|
|
|
# An entry point script called "comictagger" will be created
|
|
|
|
#
|
|
|
|
# Currently commented out, an experiment at desktop integration.
|
|
|
|
# It seems that post installation tweaks are broken by wheel files.
|
|
|
|
# Kept here for further research
|
2013-02-08 14:01:58 -08:00
|
|
|
|
2018-09-19 13:05:39 -07:00
|
|
|
import os
|
2021-08-02 17:27:27 -07:00
|
|
|
import glob
|
|
|
|
|
|
|
|
from setuptools import setup
|
|
|
|
|
|
|
|
def read(fname):
|
|
|
|
"""
|
|
|
|
Read the contents of a file.
|
|
|
|
Parameters
|
|
|
|
----------
|
|
|
|
fname : str
|
|
|
|
Path to file.
|
|
|
|
Returns
|
|
|
|
-------
|
|
|
|
str
|
|
|
|
File contents.
|
|
|
|
"""
|
|
|
|
with open(os.path.join(os.path.dirname(__file__), fname)) as f:
|
|
|
|
return f.read()
|
2020-07-06 16:11:15 -07:00
|
|
|
|
|
|
|
|
2021-08-02 17:27:27 -07:00
|
|
|
install_requires = read("requirements.txt").splitlines()
|
2018-09-19 13:05:39 -07:00
|
|
|
|
2021-08-02 17:27:27 -07:00
|
|
|
# Dynamically determine extra dependencies
|
|
|
|
extras_require = {}
|
|
|
|
extra_req_files = glob.glob("requirements-*.txt")
|
|
|
|
for extra_req_file in extra_req_files:
|
|
|
|
name = os.path.splitext(extra_req_file)[0].replace("requirements-", "", 1)
|
|
|
|
extras_require[name] = read(extra_req_file).splitlines()
|
2018-09-19 13:05:39 -07:00
|
|
|
|
2021-08-02 17:27:27 -07:00
|
|
|
# If there are any extras, add a catch-all case that includes everything.
|
|
|
|
# This assumes that entries in extras_require are lists (not single strings),
|
|
|
|
# and that there are no duplicated packages across the extras.
|
|
|
|
if extras_require:
|
|
|
|
extras_require["all"] = sorted({x for v in extras_require.values() for x in v})
|
2018-09-19 13:05:39 -07:00
|
|
|
|
|
|
|
|
2020-07-06 16:11:15 -07:00
|
|
|
setup(
|
|
|
|
name="comictagger",
|
2021-08-02 17:27:27 -07:00
|
|
|
install_requires=install_requires,
|
|
|
|
extras_require=extras_require,
|
|
|
|
python_requires=">=3",
|
2020-07-06 16:11:15 -07:00
|
|
|
description="A cross-platform GUI/CLI app for writing metadata to comic archives",
|
|
|
|
author="ComicTagger team",
|
|
|
|
author_email="comictagger@gmail.com",
|
|
|
|
url="https://github.com/comictagger/comictagger",
|
2021-08-02 17:27:27 -07:00
|
|
|
packages=["comictaggerlib"],
|
|
|
|
package_data={
|
|
|
|
"comictaggerlib": ["ui/*", "graphics/*"],
|
|
|
|
},
|
2020-07-06 16:11:15 -07:00
|
|
|
entry_points=dict(console_scripts=["comictagger=comictaggerlib.main:ctmain"]),
|
|
|
|
classifiers=[
|
|
|
|
"Development Status :: 4 - Beta",
|
|
|
|
"Environment :: Console",
|
|
|
|
"Environment :: Win32 (MS Windows)",
|
|
|
|
"Environment :: MacOS X",
|
|
|
|
"Environment :: X11 Applications :: Qt",
|
|
|
|
"Intended Audience :: End Users/Desktop",
|
|
|
|
"License :: OSI Approved :: Apache Software License",
|
|
|
|
"Natural Language :: English",
|
|
|
|
"Operating System :: OS Independent",
|
|
|
|
"Programming Language :: Python :: 3.5",
|
|
|
|
"Programming Language :: Python :: 3.6",
|
|
|
|
"Topic :: Utilities",
|
|
|
|
"Topic :: Other/Nonlisted Topic",
|
|
|
|
"Topic :: Multimedia :: Graphics",
|
|
|
|
],
|
|
|
|
keywords=["comictagger", "comics", "comic", "metadata", "tagging", "tagger"],
|
|
|
|
license="Apache License 2.0",
|
|
|
|
long_description="""
|
2014-03-23 15:28:03 -07:00
|
|
|
ComicTagger is a multi-platform app for writing metadata to digital comics, written in Python and PyQt.
|
2013-02-08 14:01:58 -08:00
|
|
|
|
|
|
|
Features:
|
|
|
|
|
|
|
|
* Runs on Mac OSX, Microsoft Windows, and Linux systems
|
|
|
|
* Communicates with an online database (Comic Vine) for acquiring metadata
|
|
|
|
* Uses image processing to automatically match a given archive with the correct issue data
|
|
|
|
* Batch processing in the GUI for tagging hundreds or more comics at a time
|
2018-09-19 13:05:39 -07:00
|
|
|
* Reads and writes multiple tagging schemes ( ComicBookLover and ComicRack).
|
2021-08-02 17:27:27 -07:00
|
|
|
* Reads and writes rar, zip and tar archives (external tools needed for writing RAR)
|
2015-02-21 18:30:32 -08:00
|
|
|
* Command line interface (CLI) on all platforms (including Windows), which supports batch operations, and which can be used in native scripts for complex operations.
|
2020-07-26 19:28:45 -07:00
|
|
|
* Can run without PyQt5 installed
|
2020-07-06 16:11:15 -07:00
|
|
|
""",
|
|
|
|
)
|