e10f7dd7a7
Remove no longer used google scripts Remove convenience files from comicataggerlib and import comicapi directly Add type-hints to facilitate auto-complete tools Make PyQt5 code more compatible with PyQt6 Implement automatic tooling isort and black for code formatting Line length has been set to 120 flake8 for code standards with exceptions: E203 - Whitespace before ':' - format compatiblity with black E501 - Line too long - flake8 line limit cannot be set E722 - Do not use bare except - fixing bare except statements is a lot of overhead and there are already many in the codebase These changes, along with some manual fixes creates much more readable code. See examples below: diff --git a/comicapi/comet.py b/comicapi/comet.py index d1741c5..52dc195 100644 --- a/comicapi/comet.py +++ b/comicapi/comet.py @@ -166,7 +166,2 @@ class CoMet: - if credit['role'].lower() in set(self.editor_synonyms): - ET.SubElement( - root, - 'editor').text = "{0}".format( - credit['person']) @@ -174,2 +169,4 @@ class CoMet: self.indent(root) + if credit["role"].lower() in set(self.editor_synonyms): + ET.SubElement(root, "editor").text = str(credit["person"]) diff --git a/comictaggerlib/autotagmatchwindow.py b/comictaggerlib/autotagmatchwindow.py index 4338176..9219f01 100644 --- a/comictaggerlib/autotagmatchwindow.py +++ b/comictaggerlib/autotagmatchwindow.py @@ -63,4 +63,3 @@ class AutoTagMatchWindow(QtWidgets.QDialog): self.skipButton, QtWidgets.QDialogButtonBox.ActionRole) - self.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).setText( - "Accept and Write Tags") + self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Ok).setText("Accept and Write Tags") diff --git a/comictaggerlib/cli.py b/comictaggerlib/cli.py index 688907d..dbd0c2e 100644 --- a/comictaggerlib/cli.py +++ b/comictaggerlib/cli.py @@ -293,7 +293,3 @@ def process_file_cli(filename, opts, settings, match_results): if opts.raw: - print(( - "{0}".format( - str( - ca.readRawCIX(), - errors='ignore')))) + print(ca.read_raw_cix()) else:
82 lines
2.6 KiB
Python
82 lines
2.6 KiB
Python
# Setup file for comictagger python source (no wheels yet)
|
|
#
|
|
# 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
|
|
|
|
import glob
|
|
import os
|
|
|
|
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()
|
|
|
|
|
|
install_requires = read("requirements.txt").splitlines()
|
|
|
|
# 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()
|
|
|
|
# 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})
|
|
|
|
|
|
setup(
|
|
name="comictagger",
|
|
install_requires=install_requires,
|
|
extras_require=extras_require,
|
|
python_requires=">=3",
|
|
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",
|
|
packages=["comictaggerlib", "comicapi"],
|
|
package_data={
|
|
"comictaggerlib": ["ui/*", "graphics/*"],
|
|
},
|
|
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=read("README.md"),
|
|
long_description_content_type="text/markdown",
|
|
)
|