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:
49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
import locale
|
|
import logging
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
|
|
|
|
def _lang_code_mac():
|
|
"""
|
|
stolen from https://github.com/mu-editor/mu
|
|
Returns the user's language preference as defined in the Language & Region
|
|
preference pane in macOS's System Preferences.
|
|
"""
|
|
|
|
# Uses the shell command `defaults read -g AppleLocale` that prints out a
|
|
# language code to standard output. Assumptions about the command:
|
|
# - It exists and is in the shell's PATH.
|
|
# - It accepts those arguments.
|
|
# - It returns a usable language code.
|
|
#
|
|
# Reference documentation:
|
|
# - The man page for the `defaults` command on macOS.
|
|
# - The macOS underlying API:
|
|
# https://developer.apple.com/documentation/foundation/nsuserdefaults.
|
|
|
|
LANG_DETECT_COMMAND = "defaults read -g AppleLocale"
|
|
|
|
status, output = subprocess.getstatusoutput(LANG_DETECT_COMMAND)
|
|
if status == 0:
|
|
# Command was successful.
|
|
lang_code = output
|
|
else:
|
|
logging.warning("Language detection command failed: %r", output)
|
|
lang_code = ""
|
|
|
|
return lang_code
|
|
|
|
|
|
def configure_locale():
|
|
if sys.platform == "darwin" and "LANG" not in os.environ:
|
|
code = _lang_code_mac()
|
|
if code != "":
|
|
os.environ["LANG"] = f"{code}.utf-8"
|
|
|
|
locale.setlocale(locale.LC_ALL, "")
|
|
sys.stdout.reconfigure(encoding=sys.getdefaultencoding())
|
|
sys.stderr.reconfigure(encoding=sys.getdefaultencoding())
|
|
sys.stdin.reconfigure(encoding=sys.getdefaultencoding())
|