diff --git a/comictaggerlib/autotagmatchwindow.py b/comictaggerlib/autotagmatchwindow.py
index 6571502..a3db85a 100644
--- a/comictaggerlib/autotagmatchwindow.py
+++ b/comictaggerlib/autotagmatchwindow.py
@@ -207,11 +207,12 @@ class AutoTagMatchWindow(QtGui.QDialog):
self.updateData()
def reject(self):
- reply = QtGui.QMessageBox.question(self,
- self.tr("Cancel Matching"),
- self.tr(
- "Are you sure you wish to cancel the matching process?"),
- QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
+ reply = QtGui.QMessageBox.question(
+ self,
+ self.tr("Cancel Matching"),
+ self.tr("Are you sure you wish to cancel the matching process?"),
+ QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.No:
return
diff --git a/comictaggerlib/cli.py b/comictaggerlib/cli.py
index 4fe08ad..112a14b 100644
--- a/comictaggerlib/cli.py
+++ b/comictaggerlib/cli.py
@@ -108,14 +108,15 @@ def display_match_set_for_choice(label, match_set, opts, settings):
for (counter, m) in enumerate(match_set.matches):
counter += 1
- print(u" {0}. {1} #{2} [{3}] ({4}/{5}) - {6}".format(counter,
- m['series'],
- m['issue_number'],
- m['publisher'],
- m['month'],
- m['year'],
- m['issue_title'])
- )
+ print(
+ u" {0}. {1} #{2} [{3}] ({4}/{5}) - {6}".format(
+ counter,
+ m['series'],
+ m['issue_number'],
+ m['publisher'],
+ m['month'],
+ m['year'],
+ m['issue_title']))
if opts.interactive:
while True:
i = raw_input("Choose a match #, or 's' to skip: ")
@@ -289,7 +290,10 @@ def process_file_cli(filename, opts, settings, match_results):
print("--------- ComicRack tags ---------")
if opts.raw:
print(
- u"{0}".format(unicode(ca.readRawCIX(), errors='ignore')))
+ u"{0}".format(
+ unicode(
+ ca.readRawCIX(),
+ errors='ignore')))
else:
print(u"{0}".format(ca.readCIX()))
@@ -332,8 +336,10 @@ def process_file_cli(filename, opts, settings, match_results):
filename, dst_style_name))
return
if opts.copy_source == opts.data_style:
- print(u"{0}: Destination and source are same: {1}. Nothing to do.".format(
- filename, dst_style_name))
+ print(
+ u"{0}: Destination and source are same: {1}. Nothing to do.".format(
+ filename,
+ dst_style_name))
return
src_style_name = MetaDataStyle.name[opts.copy_source]
diff --git a/comictaggerlib/comicarchive.py b/comictaggerlib/comicarchive.py
index 6ef280e..b98f0b6 100644
--- a/comictaggerlib/comicarchive.py
+++ b/comictaggerlib/comicarchive.py
@@ -286,7 +286,12 @@ class RarArchiver:
working_dir = os.path.dirname(os.path.abspath(self.path))
# use external program to write comment to Rar archive
- subprocess.call([self.rar_exe_path, 'c', '-w' + working_dir, '-c-', '-z' + tmp_name, self.path],
+ subprocess.call([self.rar_exe_path,
+ 'c',
+ '-w' + working_dir,
+ '-c-',
+ '-z' + tmp_name,
+ self.path],
startupinfo=self.startupinfo,
stdout=RarArchiver.devnull)
@@ -318,7 +323,8 @@ class RarArchiver:
if entries[0][0].size != len(entries[0][1]):
print >> sys.stderr, u"readArchiveFile(): [file is not expected size: {0} vs {1}] {2}:{3} [attempt # {4}]".format(
- entries[0][0].size, len(entries[0][1]), self.path, archive_file, tries)
+ entries[0][0].size, len(
+ entries[0][1]), self.path, archive_file, tries)
continue
except (OSError, IOError) as e:
@@ -360,7 +366,13 @@ class RarArchiver:
f.close()
# use external program to write file to Rar archive
- subprocess.call([self.rar_exe_path, 'a', '-w' + working_dir, '-c-', '-ep', self.path, tmp_file],
+ subprocess.call([self.rar_exe_path,
+ 'a',
+ '-w' + working_dir,
+ '-c-',
+ '-ep',
+ self.path,
+ tmp_file],
startupinfo=self.startupinfo,
stdout=RarArchiver.devnull)
@@ -379,7 +391,11 @@ class RarArchiver:
if self.rar_exe_path is not None:
try:
# use external program to remove file from Rar archive
- subprocess.call([self.rar_exe_path, 'd', '-c-', self.path, archive_file],
+ subprocess.call([self.rar_exe_path,
+ 'd',
+ '-c-',
+ self.path,
+ archive_file],
startupinfo=self.startupinfo,
stdout=RarArchiver.devnull)
@@ -741,7 +757,11 @@ class ComicArchive:
# sort by most common
sorted_buckets = sorted(
- length_buckets.iteritems(), key=lambda k_v: (k_v[1], k_v[0]), reverse=True)
+ length_buckets.iteritems(),
+ key=lambda k_v: (
+ k_v[1],
+ k_v[0]),
+ reverse=True)
# statistical mode occurence is first
mode_length = sorted_buckets[0][0]
@@ -789,8 +809,11 @@ class ComicArchive:
# make a sub-list of image files
self.page_list = []
for name in files:
- if (name[-4:].lower() in [".jpg", "jpeg", ".png",
- ".gif", "webp"] and os.path.basename(name)[0] != "."):
+ if (name[-4:].lower() in [".jpg",
+ "jpeg",
+ ".png",
+ ".gif",
+ "webp"] and os.path.basename(name)[0] != "."):
self.page_list.append(name)
return self.page_list
diff --git a/comictaggerlib/comicvinecacher.py b/comictaggerlib/comicvinecacher.py
index 1566369..6b6a175 100644
--- a/comictaggerlib/comicvinecacher.py
+++ b/comictaggerlib/comicvinecacher.py
@@ -77,48 +77,48 @@ class ComicVineCacher:
cur = con.cursor()
# name,id,start_year,publisher,image,description,count_of_issues
- cur.execute("CREATE TABLE VolumeSearchCache(" +
- "search_term TEXT," +
- "id INT," +
- "name TEXT," +
- "start_year INT," +
- "publisher TEXT," +
- "count_of_issues INT," +
- "image_url TEXT," +
- "description TEXT," +
- "timestamp DATE DEFAULT (datetime('now','localtime'))) "
- )
+ cur.execute(
+ "CREATE TABLE VolumeSearchCache(" +
+ "search_term TEXT," +
+ "id INT," +
+ "name TEXT," +
+ "start_year INT," +
+ "publisher TEXT," +
+ "count_of_issues INT," +
+ "image_url TEXT," +
+ "description TEXT," +
+ "timestamp DATE DEFAULT (datetime('now','localtime'))) ")
- cur.execute("CREATE TABLE Volumes(" +
- "id INT," +
- "name TEXT," +
- "publisher TEXT," +
- "count_of_issues INT," +
- "start_year INT," +
- "timestamp DATE DEFAULT (datetime('now','localtime')), " +
- "PRIMARY KEY (id))"
- )
+ cur.execute(
+ "CREATE TABLE Volumes(" +
+ "id INT," +
+ "name TEXT," +
+ "publisher TEXT," +
+ "count_of_issues INT," +
+ "start_year INT," +
+ "timestamp DATE DEFAULT (datetime('now','localtime')), " +
+ "PRIMARY KEY (id))")
- cur.execute("CREATE TABLE AltCovers(" +
- "issue_id INT," +
- "url_list TEXT," +
- "timestamp DATE DEFAULT (datetime('now','localtime')), " +
- "PRIMARY KEY (issue_id))"
- )
+ cur.execute(
+ "CREATE TABLE AltCovers(" +
+ "issue_id INT," +
+ "url_list TEXT," +
+ "timestamp DATE DEFAULT (datetime('now','localtime')), " +
+ "PRIMARY KEY (issue_id))")
- cur.execute("CREATE TABLE Issues(" +
- "id INT," +
- "volume_id INT," +
- "name TEXT," +
- "issue_number TEXT," +
- "super_url TEXT," +
- "thumb_url TEXT," +
- "cover_date TEXT," +
- "site_detail_url TEXT," +
- "description TEXT," +
- "timestamp DATE DEFAULT (datetime('now','localtime')), " +
- "PRIMARY KEY (id))"
- )
+ cur.execute(
+ "CREATE TABLE Issues(" +
+ "id INT," +
+ "volume_id INT," +
+ "name TEXT," +
+ "issue_number TEXT," +
+ "super_url TEXT," +
+ "thumb_url TEXT," +
+ "cover_date TEXT," +
+ "site_detail_url TEXT," +
+ "description TEXT," +
+ "timestamp DATE DEFAULT (datetime('now','localtime')), " +
+ "PRIMARY KEY (id))")
def add_search_results(self, search_term, cv_search_results):
@@ -130,7 +130,8 @@ class ComicVineCacher:
# remove all previous entries with this search term
cur.execute(
- "DELETE FROM VolumeSearchCache WHERE search_term = ?", [search_term.lower()])
+ "DELETE FROM VolumeSearchCache WHERE search_term = ?", [
+ search_term.lower()])
# now add in new results
for record in cv_search_results:
@@ -146,18 +147,18 @@ class ComicVineCacher:
else:
url = record['image']['super_url']
- cur.execute("INSERT INTO VolumeSearchCache " +
- "(search_term, id, name, start_year, publisher, count_of_issues, image_url, description) " +
- "VALUES(?, ?, ?, ?, ?, ?, ?, ?)",
- (search_term.lower(),
- record['id'],
- record['name'],
- record['start_year'],
- pub_name,
- record['count_of_issues'],
- url,
- record['description'])
- )
+ cur.execute(
+ "INSERT INTO VolumeSearchCache " +
+ "(search_term, id, name, start_year, publisher, count_of_issues, image_url, description) " +
+ "VALUES(?, ?, ?, ?, ?, ?, ?, ?)",
+ (search_term.lower(),
+ record['id'],
+ record['name'],
+ record['start_year'],
+ pub_name,
+ record['count_of_issues'],
+ url,
+ record['description']))
def get_search_results(self, search_term):
@@ -170,7 +171,8 @@ class ComicVineCacher:
# purge stale search results
a_day_ago = datetime.datetime.today() - datetime.timedelta(days=1)
cur.execute(
- "DELETE FROM VolumeSearchCache WHERE timestamp < ?", [str(a_day_ago)])
+ "DELETE FROM VolumeSearchCache WHERE timestamp < ?", [
+ str(a_day_ago)])
# fetch
cur.execute(
@@ -226,7 +228,8 @@ class ComicVineCacher:
a_month_ago = datetime.datetime.today() - \
datetime.timedelta(days=30)
cur.execute(
- "DELETE FROM AltCovers WHERE timestamp < ?", [str(a_month_ago)])
+ "DELETE FROM AltCovers WHERE timestamp < ?", [
+ str(a_month_ago)])
cur.execute(
"SELECT url_list FROM AltCovers WHERE issue_id=?", [issue_id])
@@ -310,7 +313,8 @@ class ComicVineCacher:
# fetch
cur.execute(
- "SELECT id,name,publisher,count_of_issues,start_year FROM Volumes WHERE id = ?", [volume_id])
+ "SELECT id,name,publisher,count_of_issues,start_year FROM Volumes WHERE id = ?",
+ [volume_id])
row = cur.fetchone()
@@ -349,7 +353,8 @@ class ComicVineCacher:
results = list()
cur.execute(
- "SELECT id,name,issue_number,site_detail_url,cover_date,super_url,thumb_url,description FROM Issues WHERE volume_id = ?", [volume_id])
+ "SELECT id,name,issue_number,site_detail_url,cover_date,super_url,thumb_url,description FROM Issues WHERE volume_id = ?",
+ [volume_id])
rows = cur.fetchall()
# now process the results
@@ -374,7 +379,12 @@ class ComicVineCacher:
return results
def add_issue_select_details(
- self, issue_id, image_url, thumb_image_url, cover_date, site_detail_url):
+ self,
+ issue_id,
+ image_url,
+ thumb_image_url,
+ cover_date,
+ site_detail_url):
con = lite.connect(self.db_file)
@@ -400,7 +410,8 @@ class ComicVineCacher:
con.text_factory = unicode
cur.execute(
- "SELECT super_url,thumb_url,cover_date,site_detail_url FROM Issues WHERE id=?", [issue_id])
+ "SELECT super_url,thumb_url,cover_date,site_detail_url FROM Issues WHERE id=?",
+ [issue_id])
row = cur.fetchone()
details = dict()
diff --git a/comictaggerlib/comicvinetalker.py b/comictaggerlib/comicvinetalker.py
index f16548e..a44aca7 100644
--- a/comictaggerlib/comicvinetalker.py
+++ b/comictaggerlib/comicvinetalker.py
@@ -170,8 +170,10 @@ class ComicVineTalker(QObject):
if total_time_waited < 20:
continue
if cv_response['status_code'] != 1:
- self.writeLog("Comic Vine query failed with error #{0}: [{1}]. \n".format(
- cv_response['status_code'], cv_response['error']))
+ self.writeLog(
+ "Comic Vine query failed with error #{0}: [{1}]. \n".format(
+ cv_response['status_code'],
+ cv_response['error']))
raise ComicVineTalkerException(
cv_response['status_code'], cv_response['error'])
else:
@@ -249,8 +251,10 @@ class ComicVineTalker(QObject):
total_result_count = cv_response['number_of_total_results']
if callback is None:
- self.writeLog("Found {0} of {1} results\n".format(
- cv_response['number_of_page_results'], cv_response['number_of_total_results']))
+ self.writeLog(
+ "Found {0} of {1} results\n".format(
+ cv_response['number_of_page_results'],
+ cv_response['number_of_total_results']))
search_results.extend(cv_response['results'])
page = 1
@@ -260,8 +264,10 @@ class ComicVineTalker(QObject):
# see if we need to keep asking for more pages...
while (current_result_count < total_result_count):
if callback is None:
- self.writeLog("getting another page of results {0} of {1}...\n".format(
- current_result_count, total_result_count))
+ self.writeLog(
+ "getting another page of results {0} of {1}...\n".format(
+ current_result_count,
+ total_result_count))
page += 1
cv_response = self.getCVContent(search_url + "&page=" + str(page))
@@ -725,7 +731,9 @@ class ComicVineTalker(QObject):
details = self.fetchCachedIssueSelectDetails(issue_id)
if details['image_url'] is not None:
self.urlFetchComplete.emit(
- details['image_url'], details['thumb_image_url'], self.issue_id)
+ details['image_url'],
+ details['thumb_image_url'],
+ self.issue_id)
return
issue_url = self.api_base_url + "/issue/" + CVTypeID.Issue + "-" + \
diff --git a/comictaggerlib/coverimagewidget.py b/comictaggerlib/coverimagewidget.py
index 25a35ce..5285086 100644
--- a/comictaggerlib/coverimagewidget.py
+++ b/comictaggerlib/coverimagewidget.py
@@ -230,10 +230,14 @@ class CoverImageWidget(QWidget):
self.label.setText("")
elif self.mode == CoverImageWidget.AltCoverMode:
self.label.setText(
- "Cover {0} (of {1})".format(self.imageIndex + 1, self.imageCount))
+ "Cover {0} (of {1})".format(
+ self.imageIndex + 1,
+ self.imageCount))
else:
self.label.setText(
- "Page {0} (of {1})".format(self.imageIndex + 1, self.imageCount))
+ "Page {0} (of {1})".format(
+ self.imageIndex + 1,
+ self.imageCount))
def loadURL(self):
self.loadDefault()
diff --git a/comictaggerlib/fileselectionlist.py b/comictaggerlib/fileselectionlist.py
index 7a9ce36..573d67f 100644
--- a/comictaggerlib/fileselectionlist.py
+++ b/comictaggerlib/fileselectionlist.py
@@ -112,11 +112,23 @@ class FileSelectionList(QWidget):
def selectAll(self):
self.twList.setRangeSelected(
- QTableWidgetSelectionRange(0, 0, self.twList.rowCount() - 1, 5), True)
+ QTableWidgetSelectionRange(
+ 0,
+ 0,
+ self.twList.rowCount() -
+ 1,
+ 5),
+ True)
def deselectAll(self):
self.twList.setRangeSelected(
- QTableWidgetSelectionRange(0, 0, self.twList.rowCount() - 1, 5), False)
+ QTableWidgetSelectionRange(
+ 0,
+ 0,
+ self.twList.rowCount() -
+ 1,
+ 5),
+ False)
def removeArchiveList(self, ca_list):
self.twList.setSortingEnabled(False)
@@ -146,8 +158,9 @@ class FileSelectionList(QWidget):
return
if self.twList.currentRow() in row_list:
- if not self.modifiedFlagVerification("Remove Archive",
- "If you close this archive, data in the form will be lost. Are you sure?"):
+ if not self.modifiedFlagVerification(
+ "Remove Archive",
+ "If you close this archive, data in the form will be lost. Are you sure?"):
return
row_list.sort()
@@ -223,7 +236,9 @@ class FileSelectionList(QWidget):
"Selected file doesn't seem to be a comic archive."))
else:
QMessageBox.information(
- self, self.tr("File/Folder Open"), self.tr("No comic archives were found."))
+ self,
+ self.tr("File/Folder Open"),
+ self.tr("No comic archives were found."))
self.twList.setSortingEnabled(True)
@@ -397,8 +412,9 @@ class FileSelectionList(QWidget):
# don't allow change if modified
if prev is not None and new_idx != old_idx:
- if not self.modifiedFlagVerification("Change Archive",
- "If you change archives now, data in the form will be lost. Are you sure?"):
+ if not self.modifiedFlagVerification(
+ "Change Archive",
+ "If you change archives now, data in the form will be lost. Are you sure?"):
self.twList.currentItemChanged.disconnect(
self.currentItemChangedCB)
self.twList.setCurrentItem(prev)
diff --git a/comictaggerlib/imagepopup.py b/comictaggerlib/imagepopup.py
index 4da2bc4..63d2549 100644
--- a/comictaggerlib/imagepopup.py
+++ b/comictaggerlib/imagepopup.py
@@ -49,8 +49,12 @@ class ImagePopup(QtGui.QDialog):
# This is a total hack. Uses a snapshot of the desktop, and overlays a
# translucent screen over it. Probably can do it better by setting opacity of a
# widget
- self.desktopBg = QtGui.QPixmap.grabWindow(QtGui.QApplication.desktop().winId(),
- 0, 0, screen_size.width(), screen_size.height())
+ self.desktopBg = QtGui.QPixmap.grabWindow(
+ QtGui.QApplication.desktop().winId(),
+ 0,
+ 0,
+ screen_size.width(),
+ screen_size.height())
bg = QtGui.QPixmap(ComicTaggerSettings.getGraphic('popup_bg.png'))
self.clientBgPixmap = bg.scaled(
screen_size.width(), screen_size.height())
diff --git a/comictaggerlib/issueidentifier.py b/comictaggerlib/issueidentifier.py
index 1ff63e9..efaba5c 100644
--- a/comictaggerlib/issueidentifier.py
+++ b/comictaggerlib/issueidentifier.py
@@ -243,8 +243,16 @@ class IssueIdentifier:
if newline:
self.output_function("\n")
- def getIssueCoverMatchScore(self, comicVine, issue_id, primary_img_url, primary_thumb_url,
- page_url, localCoverHashList, useRemoteAlternates=False, useLog=True):
+ def getIssueCoverMatchScore(
+ self,
+ comicVine,
+ issue_id,
+ primary_img_url,
+ primary_thumb_url,
+ page_url,
+ localCoverHashList,
+ useRemoteAlternates=False,
+ useLog=True):
# localHashes is a list of pre-calculated hashs.
# useRemoteAlternates - indicates to use alternate covers from CV
@@ -256,7 +264,7 @@ class IssueIdentifier:
"Network issue while fetching cover image from ComicVine. Aborting...")
raise IssueIdentifierNetworkError
- if self.cancel == True:
+ if self.cancel:
raise IssueIdentifierCancelled
# alert the GUI, if needed
@@ -270,7 +278,7 @@ class IssueIdentifier:
item['hash'] = self.calculateHash(url_image_data)
remote_cover_list.append(item)
- if self.cancel == True:
+ if self.cancel:
raise IssueIdentifierCancelled
if useRemoteAlternates:
@@ -285,7 +293,7 @@ class IssueIdentifier:
"Network issue while fetching alt. cover image from ComicVine. Aborting...")
raise IssueIdentifierNetworkError
- if self.cancel == True:
+ if self.cancel:
raise IssueIdentifierCancelled
# alert the GUI, if needed
@@ -297,7 +305,7 @@ class IssueIdentifier:
item['hash'] = self.calculateHash(alt_url_image_data)
remote_cover_list.append(item)
- if self.cancel == True:
+ if self.cancel:
raise IssueIdentifierCancelled
if useLog and useRemoteAlternates:
@@ -413,7 +421,7 @@ class IssueIdentifier:
return []
#self.log_msg("Found " + str(len(cv_search_results)) + " initial results")
- if self.cancel == True:
+ if self.cancel:
return []
if cv_search_results is None:
@@ -428,8 +436,9 @@ class IssueIdentifier:
date_approved = True
# remove any series that starts after the issue year
- if keys['year'] is not None and str(keys['year']).isdigit() and item[
- 'start_year'] is not None and str(item['start_year']).isdigit():
+ if keys['year'] is not None and str(
+ keys['year']).isdigit() and item['start_year'] is not None and str(
+ item['start_year']).isdigit():
if int(keys['year']) < int(item['start_year']):
date_approved = False
@@ -467,10 +476,10 @@ class IssueIdentifier:
volume_id_list.append(series['id'])
try:
- issue_list = comicVine.fetchIssuesByVolumeIssueNumAndYear(volume_id_list,
- keys[
- 'issue_number'],
- keys['year'])
+ issue_list = comicVine.fetchIssuesByVolumeIssueNumAndYear(
+ volume_id_list,
+ keys['issue_number'],
+ keys['year'])
except ComicVineTalkerException:
self.log_msg(
@@ -492,8 +501,11 @@ class IssueIdentifier:
self.log_msg(u"Found {0} series that have an issue #{1}".format(
len(shortlist), keys['issue_number']))
else:
- self.log_msg(u"Found {0} series that have an issue #{1} from {2}".format(
- len(shortlist), keys['issue_number'], keys['year']))
+ self.log_msg(
+ u"Found {0} series that have an issue #{1} from {2}".format(
+ len(shortlist),
+ keys['issue_number'],
+ keys['year']))
# now we have a shortlist of volumes with the desired issue number
# Do first round of cover matching
@@ -521,8 +533,14 @@ class IssueIdentifier:
thumb_url = issue['image']['thumb_url']
page_url = issue['site_detail_url']
- score_item = self.getIssueCoverMatchScore(comicVine, issue[
- 'id'], image_url, thumb_url, page_url, hash_list, useRemoteAlternates=False)
+ score_item = self.getIssueCoverMatchScore(
+ comicVine,
+ issue['id'],
+ image_url,
+ thumb_url,
+ page_url,
+ hash_list,
+ useRemoteAlternates=False)
except:
self.match_list = []
return self.match_list
@@ -600,12 +618,20 @@ class IssueIdentifier:
if self.callback is not None:
self.callback(counter, len(self.match_list) * 3)
counter += 1
- self.log_msg(u"Examining alternate covers for ID: {0} {1} ...".format(
- m['volume_id'],
- m['series']), newline=False)
+ self.log_msg(
+ u"Examining alternate covers for ID: {0} {1} ...".format(
+ m['volume_id'],
+ m['series']),
+ newline=False)
try:
- score_item = self.getIssueCoverMatchScore(comicVine, m['issue_id'], m[
- 'image_url'], m['thumb_url'], m['page_url'], hash_list, useRemoteAlternates=True)
+ score_item = self.getIssueCoverMatchScore(
+ comicVine,
+ m['issue_id'],
+ m['image_url'],
+ m['thumb_url'],
+ m['page_url'],
+ hash_list,
+ useRemoteAlternates=True)
except:
self.match_list = []
return self.match_list
@@ -665,8 +691,10 @@ class IssueIdentifier:
if match['cv_issue_count'] != 1:
new_list.append(match)
else:
- self.log_msg("Removing volume {0} [{1}] from consideration (only 1 issue)".format(
- match['series'], match['volume_id']))
+ self.log_msg(
+ "Removing volume {0} [{1}] from consideration (only 1 issue)".format(
+ match['series'],
+ match['volume_id']))
if len(new_list) > 0:
self.match_list = new_list
diff --git a/comictaggerlib/issueselectionwindow.py b/comictaggerlib/issueselectionwindow.py
index be2577a..5f3daee 100644
--- a/comictaggerlib/issueselectionwindow.py
+++ b/comictaggerlib/issueselectionwindow.py
@@ -107,10 +107,14 @@ class IssueSelectionWindow(QtGui.QDialog):
QtGui.QApplication.restoreOverrideCursor()
if e.code == ComicVineTalkerException.RateLimit:
QtGui.QMessageBox.critical(
- self, self.tr("Comic Vine Error"), ComicVineTalker.getRateLimitMessage())
+ self,
+ self.tr("Comic Vine Error"),
+ ComicVineTalker.getRateLimitMessage())
else:
- QtGui.QMessageBox.critical(self, self.tr("Network Issue"), self.tr(
- "Could not connect to ComicVine to list issues!"))
+ QtGui.QMessageBox.critical(
+ self,
+ self.tr("Network Issue"),
+ self.tr("Could not connect to ComicVine to list issues!"))
return
while self.twList.rowCount() > 0:
@@ -151,7 +155,8 @@ class IssueSelectionWindow(QtGui.QDialog):
item.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
self.twList.setItem(row, 2, item)
- if IssueString(record['issue_number']).asString().lower() == IssueString(
+ if IssueString(
+ record['issue_number']).asString().lower() == IssueString(
self.issue_number).asString().lower():
self.initial_id = record['id']
diff --git a/comictaggerlib/main.py b/comictaggerlib/main.py
index 426ff1a..26c3248 100755
--- a/comictaggerlib/main.py
+++ b/comictaggerlib/main.py
@@ -84,5 +84,8 @@ def ctmain():
sys.exit(app.exec_())
except Exception as e:
- QtGui.QMessageBox.critical(QtGui.QMainWindow(
- ), "Error", "Unhandled exception in app:\n" + traceback.format_exc())
+ QtGui.QMessageBox.critical(
+ QtGui.QMainWindow(),
+ "Error",
+ "Unhandled exception in app:\n" +
+ traceback.format_exc())
diff --git a/comictaggerlib/optionalmsgdialog.py b/comictaggerlib/optionalmsgdialog.py
index 52ea52c..e0085a7 100644
--- a/comictaggerlib/optionalmsgdialog.py
+++ b/comictaggerlib/optionalmsgdialog.py
@@ -95,7 +95,12 @@ class OptionalMessageDialog(QDialog):
def msg(parent, title, msg, check_state=Qt.Unchecked, check_text=None):
d = OptionalMessageDialog(
- parent, StyleMessage, title, msg, check_state=check_state, check_text=check_text)
+ parent,
+ StyleMessage,
+ title,
+ msg,
+ check_state=check_state,
+ check_text=check_text)
d.exec_()
return d.theCheckBox.isChecked()
@@ -105,7 +110,12 @@ class OptionalMessageDialog(QDialog):
parent, title, msg, check_state=Qt.Unchecked, check_text=None):
d = OptionalMessageDialog(
- parent, StyleQuestion, title, msg, check_state=check_state, check_text=check_text)
+ parent,
+ StyleQuestion,
+ title,
+ msg,
+ check_state=check_state,
+ check_text=check_text)
d.exec_()
diff --git a/comictaggerlib/options.py b/comictaggerlib/options.py
index 724e607..98d0e09 100644
--- a/comictaggerlib/options.py
+++ b/comictaggerlib/options.py
@@ -179,7 +179,9 @@ For more help visit the wiki at: http://code.google.com/p/comictagger/
person = (cred_attribs[1] if len(cred_attribs) > 1 else "")
primary = (cred_attribs[2] if len(cred_attribs) > 2 else None)
md.addCredit(
- person.strip(), role.strip(), True if primary is not None else False)
+ person.strip(),
+ role.strip(),
+ True if primary is not None else False)
else:
md_dict[key] = value
@@ -374,7 +376,8 @@ For more help visit the wiki at: http://code.google.com/p/comictagger/
if count > 1:
self.display_msg_and_quit(
- "Must choose only one action of print, delete, save, copy, rename, export, set key, or run script", 1)
+ "Must choose only one action of print, delete, save, copy, rename, export, set key, or run script",
+ 1)
if self.script is not None:
self.launch_script(self.script)
diff --git a/comictaggerlib/renamewindow.py b/comictaggerlib/renamewindow.py
index 47dc119..7a6becf 100644
--- a/comictaggerlib/renamewindow.py
+++ b/comictaggerlib/renamewindow.py
@@ -36,7 +36,8 @@ class RenameWindow(QtGui.QDialog):
uic.loadUi(ComicTaggerSettings.getUIFile('renamewindow.ui'), self)
self.label.setText(
- "Preview (based on {0} tags):".format(MetaDataStyle.name[data_style]))
+ "Preview (based on {0} tags):".format(
+ MetaDataStyle.name[data_style]))
self.setWindowFlags(self.windowFlags() |
QtCore.Qt.WindowSystemMenuHint |
diff --git a/comictaggerlib/settings.py b/comictaggerlib/settings.py
index ced61f1..1b6f007 100644
--- a/comictaggerlib/settings.py
+++ b/comictaggerlib/settings.py
@@ -317,7 +317,8 @@ class ComicTaggerSettings:
if self.config.has_option(
'cbl_transform', 'apply_cbl_transform_on_bulk_operation'):
self.apply_cbl_transform_on_bulk_operation = self.config.getboolean(
- 'cbl_transform', 'apply_cbl_transform_on_bulk_operation')
+ 'cbl_transform',
+ 'apply_cbl_transform_on_bulk_operation')
if self.config.has_option('rename', 'rename_template'):
self.rename_template = self.config.get('rename', 'rename_template')
@@ -348,7 +349,8 @@ class ComicTaggerSettings:
if self.config.has_option(
'autotag', 'remove_archive_after_successful_match'):
self.remove_archive_after_successful_match = self.config.getboolean(
- 'autotag', 'remove_archive_after_successful_match')
+ 'autotag',
+ 'remove_archive_after_successful_match')
if self.config.has_option('autotag', 'wait_and_retry_on_rate_limit'):
self.wait_and_retry_on_rate_limit = self.config.getboolean(
'autotag', 'wait_and_retry_on_rate_limit')
@@ -369,9 +371,13 @@ class ComicTaggerSettings:
self.config.set('auto', 'install_id', self.install_id)
self.config.set(
- 'auto', 'last_selected_load_data_style', self.last_selected_load_data_style)
+ 'auto',
+ 'last_selected_load_data_style',
+ self.last_selected_load_data_style)
self.config.set(
- 'auto', 'last_selected_save_data_style', self.last_selected_save_data_style)
+ 'auto',
+ 'last_selected_save_data_style',
+ self.last_selected_save_data_style)
self.config.set('auto', 'last_opened_folder', self.last_opened_folder)
self.config.set(
'auto', 'last_main_window_width', self.last_main_window_width)
@@ -384,17 +390,25 @@ class ComicTaggerSettings:
self.config.set(
'auto', 'last_list_side_width', self.last_list_side_width)
self.config.set(
- 'auto', 'last_filelist_sorted_column', self.last_filelist_sorted_column)
+ 'auto',
+ 'last_filelist_sorted_column',
+ self.last_filelist_sorted_column)
self.config.set(
- 'auto', 'last_filelist_sorted_order', self.last_filelist_sorted_order)
+ 'auto',
+ 'last_filelist_sorted_order',
+ self.last_filelist_sorted_order)
if not self.config.has_section('identifier'):
self.config.add_section('identifier')
self.config.set(
- 'identifier', 'id_length_delta_thresh', self.id_length_delta_thresh)
+ 'identifier',
+ 'id_length_delta_thresh',
+ self.id_length_delta_thresh)
self.config.set(
- 'identifier', 'id_publisher_blacklist', self.id_publisher_blacklist)
+ 'identifier',
+ 'id_publisher_blacklist',
+ self.id_publisher_blacklist)
if not self.config.has_section('dialogflags'):
self.config.add_section('dialogflags')
@@ -403,7 +417,9 @@ class ComicTaggerSettings:
'dialogflags', 'ask_about_cbi_in_rar', self.ask_about_cbi_in_rar)
self.config.set('dialogflags', 'show_disclaimer', self.show_disclaimer)
self.config.set(
- 'dialogflags', 'dont_notify_about_this_version', self.dont_notify_about_this_version)
+ 'dialogflags',
+ 'dont_notify_about_this_version',
+ self.dont_notify_about_this_version)
self.config.set(
'dialogflags', 'ask_about_usage_stats', self.ask_about_usage_stats)
self.config.set(
@@ -419,7 +435,9 @@ class ComicTaggerSettings:
self.config.add_section('comicvine')
self.config.set(
- 'comicvine', 'use_series_start_as_volume', self.use_series_start_as_volume)
+ 'comicvine',
+ 'use_series_start_as_volume',
+ self.use_series_start_as_volume)
self.config.set('comicvine', 'clear_form_before_populating_from_cv',
self.clear_form_before_populating_from_cv)
self.config.set(
@@ -430,32 +448,52 @@ class ComicTaggerSettings:
self.config.add_section('cbl_transform')
self.config.set(
- 'cbl_transform', 'assume_lone_credit_is_primary', self.assume_lone_credit_is_primary)
+ 'cbl_transform',
+ 'assume_lone_credit_is_primary',
+ self.assume_lone_credit_is_primary)
self.config.set(
- 'cbl_transform', 'copy_characters_to_tags', self.copy_characters_to_tags)
+ 'cbl_transform',
+ 'copy_characters_to_tags',
+ self.copy_characters_to_tags)
self.config.set(
'cbl_transform', 'copy_teams_to_tags', self.copy_teams_to_tags)
self.config.set(
- 'cbl_transform', 'copy_locations_to_tags', self.copy_locations_to_tags)
+ 'cbl_transform',
+ 'copy_locations_to_tags',
+ self.copy_locations_to_tags)
self.config.set(
- 'cbl_transform', 'copy_storyarcs_to_tags', self.copy_storyarcs_to_tags)
+ 'cbl_transform',
+ 'copy_storyarcs_to_tags',
+ self.copy_storyarcs_to_tags)
self.config.set(
- 'cbl_transform', 'copy_notes_to_comments', self.copy_notes_to_comments)
+ 'cbl_transform',
+ 'copy_notes_to_comments',
+ self.copy_notes_to_comments)
self.config.set(
- 'cbl_transform', 'copy_weblink_to_comments', self.copy_weblink_to_comments)
+ 'cbl_transform',
+ 'copy_weblink_to_comments',
+ self.copy_weblink_to_comments)
self.config.set(
- 'cbl_transform', 'apply_cbl_transform_on_cv_import', self.apply_cbl_transform_on_cv_import)
- self.config.set('cbl_transform', 'apply_cbl_transform_on_bulk_operation',
- self.apply_cbl_transform_on_bulk_operation)
+ 'cbl_transform',
+ 'apply_cbl_transform_on_cv_import',
+ self.apply_cbl_transform_on_cv_import)
+ self.config.set(
+ 'cbl_transform',
+ 'apply_cbl_transform_on_bulk_operation',
+ self.apply_cbl_transform_on_bulk_operation)
if not self.config.has_section('rename'):
self.config.add_section('rename')
self.config.set('rename', 'rename_template', self.rename_template)
self.config.set(
- 'rename', 'rename_issue_number_padding', self.rename_issue_number_padding)
+ 'rename',
+ 'rename_issue_number_padding',
+ self.rename_issue_number_padding)
self.config.set(
- 'rename', 'rename_use_smart_string_cleanup', self.rename_use_smart_string_cleanup)
+ 'rename',
+ 'rename_use_smart_string_cleanup',
+ self.rename_use_smart_string_cleanup)
self.config.set('rename', 'rename_extension_based_on_archive',
self.rename_extension_based_on_archive)
@@ -464,15 +502,21 @@ class ComicTaggerSettings:
self.config.set(
'autotag', 'save_on_low_confidence', self.save_on_low_confidence)
self.config.set(
- 'autotag', 'dont_use_year_when_identifying', self.dont_use_year_when_identifying)
+ 'autotag',
+ 'dont_use_year_when_identifying',
+ self.dont_use_year_when_identifying)
self.config.set(
- 'autotag', 'assume_1_if_no_issue_num', self.assume_1_if_no_issue_num)
+ 'autotag',
+ 'assume_1_if_no_issue_num',
+ self.assume_1_if_no_issue_num)
self.config.set('autotag', 'ignore_leading_numbers_in_filename',
self.ignore_leading_numbers_in_filename)
self.config.set('autotag', 'remove_archive_after_successful_match',
self.remove_archive_after_successful_match)
self.config.set(
- 'autotag', 'wait_and_retry_on_rate_limit', self.wait_and_retry_on_rate_limit)
+ 'autotag',
+ 'wait_and_retry_on_rate_limit',
+ self.wait_and_retry_on_rate_limit)
with codecs.open(self.settings_file, 'wb', 'utf8') as configfile:
self.config.write(configfile)
diff --git a/comictaggerlib/settingswindow.py b/comictaggerlib/settingswindow.py
index 467f516..92956d2 100644
--- a/comictaggerlib/settingswindow.py
+++ b/comictaggerlib/settingswindow.py
@@ -244,7 +244,10 @@ class SettingsWindow(QtGui.QDialog):
self.settings.reset()
self.settingsToForm()
QtGui.QMessageBox.information(
- self, self.name, self.name + " have been returned to default values.")
+ self,
+ self.name,
+ self.name +
+ " have been returned to default values.")
def selectFile(self, control, name):
diff --git a/comictaggerlib/taggerwindow.py b/comictaggerlib/taggerwindow.py
index 48b7a3b..1dd556e 100644
--- a/comictaggerlib/taggerwindow.py
+++ b/comictaggerlib/taggerwindow.py
@@ -98,8 +98,9 @@ class TaggerWindow(QtGui.QMainWindow):
socket.connectToServer(settings.install_id)
alive = socket.waitForConnected(3000)
if alive:
- print("Another application with key [{}] is already running".format(
- settings.install_id))
+ print(
+ "Another application with key [{}] is already running".format(
+ settings.install_id))
# send file list to other instance
if len(file_list) > 0:
socket.write(pickle.dumps(file_list))
@@ -120,8 +121,10 @@ class TaggerWindow(QtGui.QMainWindow):
self.socketServer.removeServer(settings.install_id)
ok = self.socketServer.listen(settings.install_id)
if not ok:
- print("Cannot start local socket with key [{}]. Reason: %s ".format(
- settings.install_id, self.socketServer.errorString()))
+ print(
+ "Cannot start local socket with key [{}]. Reason: %s ".format(
+ settings.install_id,
+ self.socketServer.errorString()))
sys.exit()
#print("Registering as single instance with key [{}]".format(settings.install_id))
#----------------------------------
@@ -145,8 +148,9 @@ class TaggerWindow(QtGui.QMainWindow):
self.fileSelectionList.selectionChanged.connect(
self.fileListSelectionChanged)
self.fileSelectionList.listCleared.connect(self.fileListCleared)
- self.fileSelectionList.setSorting(self.settings.last_filelist_sorted_column,
- self.settings.last_filelist_sorted_order)
+ self.fileSelectionList.setSorting(
+ self.settings.last_filelist_sorted_column,
+ self.settings.last_filelist_sorted_order)
# we can't specify relative font sizes in the UI designer, so
# walk through all the lablels in the main form, and make them
@@ -260,13 +264,14 @@ class TaggerWindow(QtGui.QMainWindow):
self.settings.show_disclaimer = not checked
if self.settings.ask_about_usage_stats:
- reply = QtGui.QMessageBox.question(self,
- self.tr("Anonymous Stats"),
- self.tr(
- "Is it okay if ComicTagger occasionally sends some anonymous usage statistics? Nothing nefarious, "
- "just trying to get a better idea of how the app is being used.\n\nThanks for your support!"
- ),
- QtGui.QMessageBox.Yes | QtGui.QMessageBox.Default, QtGui.QMessageBox.No)
+ reply = QtGui.QMessageBox.question(
+ self,
+ self.tr("Anonymous Stats"),
+ self.tr(
+ "Is it okay if ComicTagger occasionally sends some anonymous usage statistics? Nothing nefarious, "
+ "just trying to get a better idea of how the app is being used.\n\nThanks for your support!"),
+ QtGui.QMessageBox.Yes | QtGui.QMessageBox.Default,
+ QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
self.settings.send_usage_stats = True
@@ -310,7 +315,11 @@ class TaggerWindow(QtGui.QMainWindow):
ro_str = " [read only]"
self.setWindowTitle(
- self.appName + " - " + self.comic_archive.path + mod_str + ro_str)
+ self.appName +
+ " - " +
+ self.comic_archive.path +
+ mod_str +
+ ro_str)
def configMenus(self):
@@ -446,16 +455,22 @@ class TaggerWindow(QtGui.QMainWindow):
if rar_count == 0:
QtGui.QMessageBox.information(
- self, self.tr("Export as Zip Archive"), self.tr("No RAR archives selected!"))
+ self,
+ self.tr("Export as Zip Archive"),
+ self.tr("No RAR archives selected!"))
return
- if not self.dirtyFlagVerification("Export as Zip Archive",
- "If you export archives as Zip now, unsaved data in the form may be lost. Are you sure?"):
+ if not self.dirtyFlagVerification(
+ "Export as Zip Archive",
+ "If you export archives as Zip now, unsaved data in the form may be lost. Are you sure?"):
return
if rar_count != 0:
- dlg = ExportWindow(self, self.settings,
- self.tr("You have selected {0} archive(s) to export to Zip format. New archives will be created in the same folder as the original.\n\nPlease choose options below, and select OK.\n".format(rar_count)))
+ dlg = ExportWindow(
+ self,
+ self.settings,
+ self.tr(
+ "You have selected {0} archive(s) to export to Zip format. New archives will be created in the same folder as the original.\n\nPlease choose options below, and select OK.\n".format(rar_count)))
dlg.adjustSize()
dlg.setModal(True)
if not dlg.exec_():
@@ -546,12 +561,15 @@ class TaggerWindow(QtGui.QMainWindow):
msgBox.setTextFormat(QtCore.Qt.RichText)
msgBox.setIconPixmap(
QtGui.QPixmap(ComicTaggerSettings.getGraphic('about.png')))
- msgBox.setText("
"
- + self.appName + " v" + self.version + "
"
- + "(c)2014 Anthony Beville
"
- + "{0}
".format(website)
- + "{0}
".format(email)
- + "License: {1}".format(license_link, license_name))
+ msgBox.setText("
" +
+ self.appName +
+ " v" +
+ self.version +
+ "
" +
+ "(c)2014 Anthony Beville
" +
+ "{0}
".format(website) +
+ "{0}
".format(email) +
+ "License: {1}".format(license_link, license_name))
msgBox.setStandardButtons(QtGui.QMessageBox.Ok)
msgBox.exec_()
@@ -827,8 +845,11 @@ class TaggerWindow(QtGui.QMainWindow):
if self.isDupeCredit(credit['role'].title(), credit['person']):
continue
- self.addNewCreditEntry(row, credit['role'].title(), credit[
- 'person'], (credit['primary'] if 'primary' in credit else False))
+ self.addNewCreditEntry(
+ row,
+ credit['role'].title(),
+ credit['person'],
+ (credit['primary'] if 'primary' in credit else False))
row += 1
@@ -987,8 +1008,10 @@ class TaggerWindow(QtGui.QMainWindow):
def autoIdentifySearch(self):
if self.comic_archive is None:
- QtGui.QMessageBox.warning(self, self.tr("Automatic Identify Search"),
- self.tr("You need to load a comic first!"))
+ QtGui.QMessageBox.warning(
+ self,
+ self.tr("Automatic Identify Search"),
+ self.tr("You need to load a comic first!"))
return
self.queryOnline(autoselect=True)
@@ -999,14 +1022,18 @@ class TaggerWindow(QtGui.QMainWindow):
if autoselect and issue_number == "":
QtGui.QMessageBox.information(
- self, "Automatic Identify Search", "Can't auto-identify without an issue number (yet!)")
+ self,
+ "Automatic Identify Search",
+ "Can't auto-identify without an issue number (yet!)")
return
if unicode(self.leSeries.text()).strip() != "":
series_name = unicode(self.leSeries.text()).strip()
else:
- QtGui.QMessageBox.information(self, self.tr("Online Search"), self.tr(
- "Need to enter a series name to search."))
+ QtGui.QMessageBox.information(
+ self,
+ self.tr("Online Search"),
+ self.tr("Need to enter a series name to search."))
return
year = str(self.lePubYear.text()).strip()
@@ -1019,7 +1046,15 @@ class TaggerWindow(QtGui.QMainWindow):
cover_index_list = self.metadata.getCoverPageIndexList()
selector = VolumeSelectionWindow(
- self, series_name, issue_number, year, issue_count, cover_index_list, self.comic_archive, self.settings, autoselect)
+ self,
+ series_name,
+ issue_number,
+ year,
+ issue_count,
+ cover_index_list,
+ self.comic_archive,
+ self.settings,
+ autoselect)
title = "Search: '" + series_name + "' - "
selector.setWindowTitle(title + "Select Series")
@@ -1043,10 +1078,14 @@ class TaggerWindow(QtGui.QMainWindow):
QtGui.QApplication.restoreOverrideCursor()
if e.code == ComicVineTalkerException.RateLimit:
QtGui.QMessageBox.critical(
- self, self.tr("Comic Vine Error"), ComicVineTalker.getRateLimitMessage())
+ self,
+ self.tr("Comic Vine Error"),
+ ComicVineTalker.getRateLimitMessage())
else:
- QtGui.QMessageBox.critical(self, self.tr("Network Issue"), self.tr(
- "Could not connect to ComicVine to get issue details.!"))
+ QtGui.QMessageBox.critical(
+ self,
+ self.tr("Network Issue"),
+ self.tr("Could not connect to ComicVine to get issue details.!"))
else:
QtGui.QApplication.restoreOverrideCursor()
if new_metadata is not None:
@@ -1062,17 +1101,24 @@ class TaggerWindow(QtGui.QMainWindow):
# Now push the new combined data into the edit controls
self.metadataToForm()
else:
- QtGui.QMessageBox.critical(self, self.tr("Search"), self.tr(
- "Could not find an issue {0} for that series".format(selector.issue_number)))
+ QtGui.QMessageBox.critical(
+ self, self.tr("Search"), self.tr(
+ "Could not find an issue {0} for that series".format(
+ selector.issue_number)))
def commitMetadata(self):
if (self.metadata is not None and self.comic_archive is not None):
- reply = QtGui.QMessageBox.question(self,
- self.tr("Save Tags"),
- self.tr("Are you sure you wish to save " + MetaDataStyle.name[
- self.save_data_style] + " tags to this archive?"),
- QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
+ reply = QtGui.QMessageBox.question(
+ self,
+ self.tr("Save Tags"),
+ self.tr(
+ "Are you sure you wish to save " +
+ MetaDataStyle.name[
+ self.save_data_style] +
+ " tags to this archive?"),
+ QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
QtGui.QApplication.setOverrideCursor(
@@ -1087,7 +1133,9 @@ class TaggerWindow(QtGui.QMainWindow):
if not success:
QtGui.QMessageBox.warning(
- self, self.tr("Save failed"), self.tr("The tag save operation seemed to fail!"))
+ self,
+ self.tr("Save failed"),
+ self.tr("The tag save operation seemed to fail!"))
else:
self.clearDirtyFlag()
self.updateInfoBox()
@@ -1100,8 +1148,9 @@ class TaggerWindow(QtGui.QMainWindow):
self, self.tr("Whoops!"), self.tr("No data to commit!"))
def setLoadDataStyle(self, s):
- if self.dirtyFlagVerification("Change Tag Read Style",
- "If you change read tag style now, data in the form will be lost. Are you sure?"):
+ if self.dirtyFlagVerification(
+ "Change Tag Read Style",
+ "If you change read tag style now, data in the form will be lost. Are you sure?"):
self.load_data_style, b = self.cbLoadDataStyle.itemData(s).toInt()
self.settings.last_selected_load_data_style = self.load_data_style
self.updateMenus()
@@ -1241,8 +1290,8 @@ class TaggerWindow(QtGui.QMainWindow):
role = str(self.twCredits.item(row, 1).text())
r = 0
while r < self.twCredits.rowCount():
- if (self.twCredits.item(r, 0).text() != "" and
- str(self.twCredits.item(r, 1).text()).lower() == role.lower()):
+ if (self.twCredits.item(r, 0).text() != "" and str(
+ self.twCredits.item(r, 1).text()).lower() == role.lower()):
self.twCredits.item(r, 0).setText("")
r = r + 1
@@ -1281,12 +1330,12 @@ class TaggerWindow(QtGui.QMainWindow):
ok_to_mod = True
if self.isDupeCredit(new_role, new_name):
# delete the dupe credit from list
- reply = QtGui.QMessageBox.question(self,
- self.tr(
- "Duplicate Credit!"),
- self.tr(
- "This will create a duplicate credit entry. Would you like to merge the entries, or create a duplicate?"),
- self.tr("Merge"), self.tr("Duplicate"))
+ reply = QtGui.QMessageBox.question(
+ self,
+ self.tr("Duplicate Credit!"),
+ self.tr("This will create a duplicate credit entry. Would you like to merge the entries, or create a duplicate?"),
+ self.tr("Merge"),
+ self.tr("Duplicate"))
if reply == 0:
# merge
@@ -1330,9 +1379,11 @@ class TaggerWindow(QtGui.QMainWindow):
def setAppPosition(self):
if self.settings.last_main_window_width != 0:
self.move(
- self.settings.last_main_window_x, self.settings.last_main_window_y)
+ self.settings.last_main_window_x,
+ self.settings.last_main_window_y)
self.resize(
- self.settings.last_main_window_width, self.settings.last_main_window_height)
+ self.settings.last_main_window_width,
+ self.settings.last_main_window_height)
else:
screen = QtGui.QDesktopWidget().screenGeometry()
size = self.frameGeometry()
@@ -1472,20 +1523,27 @@ class TaggerWindow(QtGui.QMainWindow):
has_md_count += 1
if has_md_count == 0:
- QtGui.QMessageBox.information(self, self.tr("Remove Tags"),
- self.tr("No archives with {0} tags selected!".format(MetaDataStyle.name[style])))
+ QtGui.QMessageBox.information(
+ self, self.tr("Remove Tags"), self.tr(
+ "No archives with {0} tags selected!".format(
+ MetaDataStyle.name[style])))
return
- if has_md_count != 0 and not self.dirtyFlagVerification("Remove Tags",
- "If you remove tags now, unsaved data in the form will be lost. Are you sure?"):
+ if has_md_count != 0 and not self.dirtyFlagVerification(
+ "Remove Tags",
+ "If you remove tags now, unsaved data in the form will be lost. Are you sure?"):
return
if has_md_count != 0:
- reply = QtGui.QMessageBox.question(self,
- self.tr("Remove Tags"),
- self.tr("Are you sure you wish to remove the {0} tags from {1} archive(s)?".format(
- MetaDataStyle.name[style], has_md_count)),
- QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
+ reply = QtGui.QMessageBox.question(
+ self,
+ self.tr("Remove Tags"),
+ self.tr(
+ "Are you sure you wish to remove the {0} tags from {1} archive(s)?".format(
+ MetaDataStyle.name[style],
+ has_md_count)),
+ QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
progdialog = QtGui.QProgressDialog(
@@ -1543,8 +1601,12 @@ class TaggerWindow(QtGui.QMainWindow):
dest_style = self.save_data_style
if src_style == dest_style:
- QtGui.QMessageBox.information(self, self.tr("Copy Tags"), self.tr("Can't copy tag style onto itself." +
- " Read style and modify style must be different."))
+ QtGui.QMessageBox.information(
+ self,
+ self.tr("Copy Tags"),
+ self.tr(
+ "Can't copy tag style onto itself." +
+ " Read style and modify style must be different."))
return
for ca in ca_list:
@@ -1552,20 +1614,28 @@ class TaggerWindow(QtGui.QMainWindow):
has_src_count += 1
if has_src_count == 0:
- QtGui.QMessageBox.information(self, self.tr("Copy Tags"), self.tr("No archives with {0} tags selected!".format(
- MetaDataStyle.name[src_style])))
+ QtGui.QMessageBox.information(
+ self, self.tr("Copy Tags"), self.tr(
+ "No archives with {0} tags selected!".format(
+ MetaDataStyle.name[src_style])))
return
- if has_src_count != 0 and not self.dirtyFlagVerification("Copy Tags",
- "If you copy tags now, unsaved data in the form may be lost. Are you sure?"):
+ if has_src_count != 0 and not self.dirtyFlagVerification(
+ "Copy Tags",
+ "If you copy tags now, unsaved data in the form may be lost. Are you sure?"):
return
if has_src_count != 0:
- reply = QtGui.QMessageBox.question(self,
- self.tr("Copy Tags"),
- self.tr("Are you sure you wish to copy the {0} tags to {1} tags in {2} archive(s)?".format(
- MetaDataStyle.name[src_style], MetaDataStyle.name[dest_style], has_src_count)),
- QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
+ reply = QtGui.QMessageBox.question(
+ self,
+ self.tr("Copy Tags"),
+ self.tr(
+ "Are you sure you wish to copy the {0} tags to {1} tags in {2} archive(s)?".format(
+ MetaDataStyle.name[src_style],
+ MetaDataStyle.name[dest_style],
+ has_src_count)),
+ QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
progdialog = QtGui.QProgressDialog(
@@ -1760,13 +1830,19 @@ class TaggerWindow(QtGui.QMainWindow):
self, self.tr("Auto-Tag"), self.tr("No archives selected!"))
return
- if not self.dirtyFlagVerification("Auto-Tag",
- "If you auto-tag now, unsaved data in the form will be lost. Are you sure?"):
+ if not self.dirtyFlagVerification(
+ "Auto-Tag",
+ "If you auto-tag now, unsaved data in the form will be lost. Are you sure?"):
return
- atstartdlg = AutoTagStartWindow(self, self.settings,
- self.tr("You have selected {0} archive(s) to automatically identify and write {1} tags to.\n\n".format(len(ca_list), MetaDataStyle.name[style]) +
- "Please choose options below, and select OK to Auto-Tag.\n"))
+ atstartdlg = AutoTagStartWindow(
+ self,
+ self.settings,
+ self.tr(
+ "You have selected {0} archive(s) to automatically identify and write {1} tags to.\n\n".format(
+ len(ca_list),
+ MetaDataStyle.name[style]) +
+ "Please choose options below, and select OK to Auto-Tag.\n"))
atstartdlg.adjustSize()
atstartdlg.setModal(True)
@@ -1851,16 +1927,21 @@ class TaggerWindow(QtGui.QMainWindow):
if sum_selectable > 0:
summary += u"\n\nDo you want to manually select the ones with multiple matches and/or low-confidence matches now?"
- reply = QtGui.QMessageBox.question(self,
- self.tr(u"Auto-Tag Summary"),
- self.tr(summary),
- QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
+ reply = QtGui.QMessageBox.question(
+ self,
+ self.tr(u"Auto-Tag Summary"),
+ self.tr(summary),
+ QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No)
match_results.multipleMatches.extend(
match_results.lowConfidenceMatches)
if reply == QtGui.QMessageBox.Yes:
matchdlg = AutoTagMatchWindow(
- self, match_results.multipleMatches, style, self.actualIssueDataFetch)
+ self,
+ match_results.multipleMatches,
+ style,
+ self.actualIssueDataFetch)
matchdlg.setModal(True)
matchdlg.exec_()
self.fileSelectionList.updateSelectedRows()
@@ -1872,10 +1953,12 @@ class TaggerWindow(QtGui.QMainWindow):
def dirtyFlagVerification(self, title, desc):
if self.dirtyFlag:
- reply = QtGui.QMessageBox.question(self,
- self.tr(title),
- self.tr(desc),
- QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
+ reply = QtGui.QMessageBox.question(
+ self,
+ self.tr(title),
+ self.tr(desc),
+ QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No)
if reply != QtGui.QMessageBox.Yes:
return False
@@ -1883,8 +1966,10 @@ class TaggerWindow(QtGui.QMainWindow):
def closeEvent(self, event):
- if self.dirtyFlagVerification("Exit " + self.appName,
- "If you quit now, data in the form will be lost. Are you sure?"):
+ if self.dirtyFlagVerification(
+ "Exit " +
+ self.appName,
+ "If you quit now, data in the form will be lost. Are you sure?"):
appsize = self.size()
self.settings.last_main_window_width = appsize.width()
self.settings.last_main_window_height = appsize.height()
@@ -1954,8 +2039,9 @@ class TaggerWindow(QtGui.QMainWindow):
self, self.tr("Rename"), self.tr("No archives selected!"))
return
- if self.dirtyFlagVerification("File Rename",
- "If you rename files now, unsaved data in the form will be lost. Are you sure?"):
+ if self.dirtyFlagVerification(
+ "File Rename",
+ "If you rename files now, unsaved data in the form will be lost. Are you sure?"):
dlg = RenameWindow(
self, ca_list, self.load_data_style, self.settings)
@@ -2011,12 +2097,15 @@ class TaggerWindow(QtGui.QMainWindow):
if (new_version != self.version and
new_version != self.settings.dont_notify_about_this_version):
website = "http://code.google.com/p/comictagger"
- checked = OptionalMessageDialog.msg(self, "New version available!",
- "New version ({0}) available!
(You are currently running {1})
".format(new_version, self.version) +
- "Visit {0} for more info.
".format(
- website),
- QtCore.Qt.Unchecked,
- "Don't tell me about this version again")
+ checked = OptionalMessageDialog.msg(
+ self,
+ "New version available!",
+ "New version ({0}) available!
(You are currently running {1})
".format(
+ new_version,
+ self.version) +
+ "Visit {0} for more info.
".format(website),
+ QtCore.Qt.Unchecked,
+ "Don't tell me about this version again")
if checked:
self.settings.dont_notify_about_this_version = new_version
diff --git a/comictaggerlib/volumeselectionwindow.py b/comictaggerlib/volumeselectionwindow.py
index ac9a208..68607e4 100644
--- a/comictaggerlib/volumeselectionwindow.py
+++ b/comictaggerlib/volumeselectionwindow.py
@@ -55,7 +55,9 @@ class SearchThread(QtCore.QThread):
try:
self.cv_error = False
self.cv_search_results = comicVine.searchForSeries(
- self.series_name, callback=self.prog_callback, refresh_cache=self.refresh)
+ self.series_name,
+ callback=self.prog_callback,
+ refresh_cache=self.refresh)
except ComicVineTalkerException as e:
self.cv_search_results = []
self.cv_error = True
@@ -160,7 +162,9 @@ class VolumeSelectionWindow(QtGui.QDialog):
if self.issue_number is None or self.issue_number == "":
QtGui.QMessageBox.information(
- self, "Auto-Select", "Can't auto-select without an issue number (yet!)")
+ self,
+ "Auto-Select",
+ "Can't auto-select without an issue number (yet!)")
return
self.iddialog = IDProgressWindow(self)
@@ -215,21 +219,29 @@ class VolumeSelectionWindow(QtGui.QDialog):
self, "Auto-Select Result", " No matches found :-(")
elif result == self.ii.ResultFoundMatchButBadCoverScore:
QtGui.QMessageBox.information(
- self, "Auto-Select Result", " Found a match, but cover doesn't seem the same. Verify before commiting!")
+ self,
+ "Auto-Select Result",
+ " Found a match, but cover doesn't seem the same. Verify before commiting!")
found_match = matches[0]
elif result == self.ii.ResultFoundMatchButNotFirstPage:
QtGui.QMessageBox.information(
- self, "Auto-Select Result", " Found a match, but not with the first page of the archive.")
+ self,
+ "Auto-Select Result",
+ " Found a match, but not with the first page of the archive.")
found_match = matches[0]
elif result == self.ii.ResultMultipleMatchesWithBadImageScores:
QtGui.QMessageBox.information(
- self, "Auto-Select Result", " Found some possibilities, but no confidence. Proceed manually.")
+ self,
+ "Auto-Select Result",
+ " Found some possibilities, but no confidence. Proceed manually.")
choices = True
elif result == self.ii.ResultOneGoodMatch:
found_match = matches[0]
elif result == self.ii.ResultMultipleGoodMatches:
QtGui.QMessageBox.information(
- self, "Auto-Select Result", " Found multiple likely matches. Please select.")
+ self,
+ "Auto-Select Result",
+ " Found multiple likely matches. Please select.")
choices = True
if choices:
@@ -313,10 +325,14 @@ class VolumeSelectionWindow(QtGui.QDialog):
if self.search_thread.cv_error:
if self.search_thread.error_code == ComicVineTalkerException.RateLimit:
QtGui.QMessageBox.critical(
- self, self.tr("Comic Vine Error"), ComicVineTalker.getRateLimitMessage())
+ self,
+ self.tr("Comic Vine Error"),
+ ComicVineTalker.getRateLimitMessage())
else:
- QtGui.QMessageBox.critical(self, self.tr("Network Issue"), self.tr(
- "Could not connect to ComicVine to search for series!"))
+ QtGui.QMessageBox.critical(
+ self,
+ self.tr("Network Issue"),
+ self.tr("Could not connect to ComicVine to search for series!"))
return
self.cv_search_results = self.search_thread.cv_search_results
diff --git a/scripts/move2folder.py b/scripts/move2folder.py
index aca15c3..1c29133 100755
--- a/scripts/move2folder.py
+++ b/scripts/move2folder.py
@@ -109,8 +109,10 @@ def main():
series_name = series_name.replace(":", " -")
series_name = series_name.replace("/", "-")
series_name = series_name.replace("?", "")
- series_folder = os.path.join(tree_root, unicode(publisher_name), unicode(
- series_name) + " (" + unicode(start_year) + ")")
+ series_folder = os.path.join(
+ tree_root,
+ unicode(publisher_name),
+ unicode(series_name) + " (" + unicode(start_year) + ")")
make_folder(series_folder)
move_file(filename, os.path.join(
series_folder, os.path.basename(filename)))
diff --git a/scripts/name_fixer.py b/scripts/name_fixer.py
index f714436..93bfc06 100755
--- a/scripts/name_fixer.py
+++ b/scripts/name_fixer.py
@@ -38,9 +38,15 @@ def parse_args():
parser = argparse.ArgumentParser(
description='a script to rename comic files')
parser.add_argument(
- '-t', '--transforms', metavar='xformfile', help="the file with transforms")
+ '-t',
+ '--transforms',
+ metavar='xformfile',
+ help="the file with transforms")
parser.add_argument(
- '-n', '--noconfirm', action='store_true', help="don't confirm before rename")
+ '-n',
+ '--noconfirm',
+ action='store_true',
+ help="don't confirm before rename")
parser.add_argument('paths', metavar='PATH', type=str,
nargs='+', help='path to look for comic files')
parsed_args = parser.parse_args(input_args)