2013-03-24 10:45:10 -07:00
|
|
|
#!/usr/bin/python
|
2015-02-21 18:30:32 -08:00
|
|
|
"""Reduce the image size of pages in the comic archive"""
|
|
|
|
|
|
|
|
# Copyright 2013 Anthony Beville
|
|
|
|
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
2013-03-24 10:45:10 -07:00
|
|
|
import shutil
|
2015-02-21 18:30:32 -08:00
|
|
|
|
2013-03-24 10:45:10 -07:00
|
|
|
import Image
|
|
|
|
|
|
|
|
from comictaggerlib.comicarchive import *
|
Code cleanup
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:
2022-04-01 16:50:46 -07:00
|
|
|
from comictaggerlib.settings import *
|
|
|
|
|
|
|
|
# import sys
|
|
|
|
# import os
|
|
|
|
# import tempfile
|
|
|
|
# import zipfile
|
|
|
|
|
|
|
|
|
|
|
|
# import comictaggerlib.utils
|
2015-02-21 18:30:32 -08:00
|
|
|
|
2013-03-24 10:45:10 -07:00
|
|
|
|
|
|
|
subfolder_name = "ORIGINALS"
|
|
|
|
max_height = 2000
|
|
|
|
|
2015-02-15 02:44:00 -08:00
|
|
|
|
2013-03-24 10:45:10 -07:00
|
|
|
def main():
|
2015-02-15 02:44:00 -08:00
|
|
|
utils.fix_output_encoding()
|
|
|
|
settings = ComicTaggerSettings()
|
|
|
|
|
|
|
|
# this can only work with files with ComicRack tags
|
|
|
|
style = MetaDataStyle.CIX
|
|
|
|
|
|
|
|
if len(sys.argv) < 2:
|
2015-02-21 18:30:32 -08:00
|
|
|
print >> sys.stderr, "Usage: {0} [comic_folder]".format(sys.argv[0])
|
2015-02-15 02:44:00 -08:00
|
|
|
return
|
|
|
|
|
|
|
|
filelist = utils.get_recursive_filelist(sys.argv[1:])
|
|
|
|
|
|
|
|
# first make a list of all comic archive files
|
|
|
|
comics_list = []
|
|
|
|
max_name_len = 2
|
|
|
|
fmt_str = u"{{0:{0}}}".format(max_name_len)
|
|
|
|
for filename in filelist:
|
|
|
|
|
|
|
|
ca = ComicArchive(filename, settings.rar_exe_path)
|
Code cleanup
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:
2022-04-01 16:50:46 -07:00
|
|
|
if ca.seemsToBeAComicArchive():
|
2015-02-15 02:44:00 -08:00
|
|
|
# Check the images in the file, see if we need to reduce any
|
|
|
|
|
|
|
|
for idx in range(ca.getNumberOfPages()):
|
|
|
|
in_data = ca.getPage(idx)
|
|
|
|
if in_data is not None:
|
|
|
|
try:
|
|
|
|
im = Image.open(StringIO.StringIO(in_data))
|
|
|
|
w, h = im.size
|
|
|
|
if h > max_height:
|
|
|
|
comics_list.append(ca)
|
|
|
|
|
|
|
|
max_name_len = max(max_name_len, len(filename))
|
|
|
|
fmt_str = u"{{0:{0}}}".format(max_name_len)
|
Code cleanup
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:
2022-04-01 16:50:46 -07:00
|
|
|
print >> sys.stderr, fmt_str.format(filename) + "\r",
|
2015-02-15 02:44:00 -08:00
|
|
|
sys.stderr.flush()
|
|
|
|
break
|
|
|
|
|
|
|
|
except IOError:
|
|
|
|
# doesn't appear to be an image
|
|
|
|
pass
|
|
|
|
|
|
|
|
print >> sys.stderr, fmt_str.format("") + "\r",
|
2015-02-21 18:30:32 -08:00
|
|
|
print "--------------------------------------------------------------------------"
|
2015-02-15 02:44:00 -08:00
|
|
|
print "Found {0} comics with over-large pages".format(len(comics_list))
|
2015-02-21 18:30:32 -08:00
|
|
|
print "--------------------------------------------------------------------------"
|
2015-02-15 02:44:00 -08:00
|
|
|
|
|
|
|
for item in comics_list:
|
|
|
|
print item.path
|
|
|
|
|
|
|
|
# now actually process those files with over-large pages
|
|
|
|
for ca in comics_list:
|
|
|
|
filename = ca.path
|
|
|
|
curr_folder = os.path.dirname(filename)
|
|
|
|
curr_subfolder = os.path.join(curr_folder, subfolder_name)
|
|
|
|
|
|
|
|
# skip any of our generated subfolders...
|
|
|
|
if os.path.basename(curr_folder) == subfolder_name:
|
|
|
|
continue
|
|
|
|
|
|
|
|
sys.stdout.write("Processing: " + filename)
|
|
|
|
|
|
|
|
# verify that we can write to current folder
|
|
|
|
if not os.access(filename, os.W_OK):
|
|
|
|
print "Can't move: {0}: skipped!".format(filename)
|
|
|
|
continue
|
Code cleanup
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:
2022-04-01 16:50:46 -07:00
|
|
|
if not os.path.exists(curr_subfolder) and not os.access(curr_folder, os.W_OK):
|
2015-02-15 02:44:00 -08:00
|
|
|
print "Can't create subfolder here: {0}: skipped!".format(filename)
|
|
|
|
continue
|
|
|
|
if not os.path.exists(curr_subfolder):
|
|
|
|
os.mkdir(curr_subfolder)
|
|
|
|
if not os.access(curr_subfolder, os.W_OK):
|
|
|
|
print "Can't write to the subfolder here: {0}: skipped!".format(filename)
|
|
|
|
continue
|
|
|
|
|
|
|
|
# generate a new file with temp name
|
|
|
|
tmp_fd, tmp_name = tempfile.mkstemp(dir=os.path.dirname(filename))
|
|
|
|
os.close(tmp_fd)
|
|
|
|
|
|
|
|
cix_md = None
|
|
|
|
if ca.hasCIX():
|
|
|
|
cix_md = ca.readCIX()
|
|
|
|
|
|
|
|
try:
|
Code cleanup
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:
2022-04-01 16:50:46 -07:00
|
|
|
zout = zipfile.ZipFile(tmp_name, "w")
|
2015-02-15 02:44:00 -08:00
|
|
|
|
|
|
|
# Check the images in the file, see if we want to reduce them
|
|
|
|
page_count = ca.getNumberOfPages()
|
|
|
|
|
|
|
|
for idx in range(ca.getNumberOfPages()):
|
|
|
|
name = ca.getPageName(idx)
|
|
|
|
in_data = ca.getPage(idx)
|
|
|
|
out_data = in_data
|
|
|
|
if in_data is not None:
|
|
|
|
try:
|
|
|
|
im = Image.open(StringIO.StringIO(in_data))
|
|
|
|
w, h = im.size
|
|
|
|
if h > max_height:
|
|
|
|
# resize the image
|
Code cleanup
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:
2022-04-01 16:50:46 -07:00
|
|
|
hpercent = max_height / float(h)
|
2015-02-15 02:44:00 -08:00
|
|
|
wsize = int((float(w) * float(hpercent)))
|
|
|
|
size = (wsize, max_height)
|
|
|
|
im = im.resize(size, Image.ANTIALIAS)
|
|
|
|
|
|
|
|
output = StringIO.StringIO()
|
|
|
|
im.save(output, format="JPEG", quality=85)
|
|
|
|
out_data = output.getvalue()
|
|
|
|
output.close()
|
|
|
|
|
|
|
|
except IOError:
|
|
|
|
# doesn't appear to be an image
|
|
|
|
pass
|
|
|
|
|
|
|
|
else:
|
|
|
|
# page is empty?? nothing to write
|
|
|
|
out_data = ""
|
|
|
|
|
Code cleanup
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:
2022-04-01 16:50:46 -07:00
|
|
|
sys.stdout.write(".")
|
2015-02-15 02:44:00 -08:00
|
|
|
sys.stdout.flush()
|
|
|
|
|
|
|
|
# write out the new resized image
|
|
|
|
zout.writestr(name, out_data)
|
|
|
|
|
|
|
|
# preserve the old comment
|
|
|
|
comment = ca.archiver.getArchiveComment()
|
|
|
|
if comment is not None:
|
|
|
|
zout.comment = ca.archiver.getArchiveComment()
|
|
|
|
|
|
|
|
except Exception as e:
|
|
|
|
print "Failure creating new archive: {0}!".format(filename)
|
|
|
|
print e, sys.exc_info()[0]
|
|
|
|
zout.close()
|
|
|
|
os.unlink(tmp_name)
|
|
|
|
else:
|
|
|
|
zout.close()
|
|
|
|
|
|
|
|
# Success! Now move the files
|
|
|
|
shutil.move(filename, curr_subfolder)
|
|
|
|
os.rename(tmp_name, filename)
|
|
|
|
# TODO: We might have converted a rar to a zip, and should probably change
|
|
|
|
# the extension, as needed.
|
|
|
|
|
|
|
|
print "Done!".format(filename)
|
|
|
|
|
|
|
|
# Create a new archive object for the new file, and write the old
|
|
|
|
# CIX data, w/o page info
|
|
|
|
if cix_md is not None:
|
|
|
|
ca = ComicArchive(filename, settings.rar_exe_path)
|
|
|
|
cix_md.pages = []
|
|
|
|
ca.writeCIX(cix_md)
|
2013-03-24 10:45:10 -07:00
|
|
|
|
|
|
|
|
Code cleanup
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:
2022-04-01 16:50:46 -07:00
|
|
|
if __name__ == "__main__":
|
2015-02-15 02:44:00 -08:00
|
|
|
main()
|