From 95ee2bf8742fe25c298bd0c680cef93c676d690c Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Wed, 12 Aug 2020 20:51:22 +0200 Subject: [PATCH] Fixed pycodestyle E231 errors --- nw/__init__.py | 8 +-- nw/common.py | 16 +++--- nw/config.py | 122 ++++++++++++++++++++--------------------- nw/core/document.py | 2 +- nw/core/index.py | 4 +- nw/core/item.py | 24 ++++---- nw/core/project.py | 26 ++++----- nw/core/spellcheck.py | 10 ++-- nw/core/status.py | 10 ++-- nw/core/tokenizer.py | 6 +- nw/core/tools.py | 2 +- nw/core/tree.py | 4 +- nw/gui/doceditor.py | 4 +- nw/gui/dochighlight.py | 26 ++++----- nw/gui/itemdetails.py | 2 +- nw/gui/itemeditor.py | 2 +- nw/gui/mainmenu.py | 12 ++-- nw/gui/preferences.py | 2 +- nw/gui/projsettings.py | 18 +++--- nw/gui/projtree.py | 4 +- nw/gui/projwizard.py | 2 +- nw/gui/statusbar.py | 2 +- nw/gui/theme.py | 8 +-- nw/gui/writingstats.py | 4 +- nw/guimain.py | 4 +- 25 files changed, 162 insertions(+), 162 deletions(-) diff --git a/nw/__init__.py b/nw/__init__.py index c3fbf7c0..24214e0c 100644 --- a/nw/__init__.py +++ b/nw/__init__.py @@ -153,7 +153,7 @@ def main(sysArgs=None): # Parse Options try: - inOpts, inRemain = getopt.getopt(sysArgs,shortOpt,longOpt) + inOpts, inRemain = getopt.getopt(sysArgs, shortOpt, longOpt) except getopt.GetoptError as E: print(helpMsg) print("ERROR: %s" % str(E)) @@ -163,7 +163,7 @@ def main(sysArgs=None): cmdOpen = inRemain[0] for inOpt, inArg in inOpts: - if inOpt in ("-h","--help"): + if inOpt in ("-h", "--help"): print(helpMsg) sys.exit() elif inOpt in ("-v", "--version"): @@ -179,7 +179,7 @@ def main(sysArgs=None): elif inOpt == "--logfile": logFile = inArg toFile = True - elif inOpt in ("-q","--quiet"): + elif inOpt in ("-q", "--quiet"): toStd = False elif inOpt == "--verbose": debugLevel = VERBOSE @@ -205,7 +205,7 @@ def main(sysArgs=None): if path.isfile(logFile+".bak"): remove(logFile+".bak") if path.isfile(logFile): - rename(logFile,logFile+".bak") + rename(logFile, logFile+".bak") fHandle = logging.FileHandler(logFile) fHandle.setLevel(debugLevel) diff --git a/nw/common.py b/nw/common.py index 0f4d6ef4..5d81a75b 100644 --- a/nw/common.py +++ b/nw/common.py @@ -42,7 +42,7 @@ def checkString(checkValue, defaultValue, allowNone=False): return None if checkValue == "None": return None - if isinstance(checkValue,str): + if isinstance(checkValue, str): return str(checkValue) return defaultValue @@ -109,7 +109,7 @@ def colRange(rgbStart, rgbEnd, nStep): elif nStep == 2: return [rgbStart, rgbEnd] - dC = [0,0,0] + dC = [0, 0, 0] for c in range(3): cA = rgbStart[c] cB = rgbEnd[c] @@ -139,11 +139,11 @@ def formatInt(theInt): theVal /= 1000.0 if theVal < 1000.0: if theVal < 10.0: - return "%4.2f%s" % (theVal,pF) + return "%4.2f%s" % (theVal, pF) elif theVal < 100.0: - return "%4.1f%s" % (theVal,pF) + return "%4.1f%s" % (theVal, pF) else: - return "%3.0f%s" % (theVal,pF) + return "%3.0f%s" % (theVal, pF) return "%d" % theInt @@ -169,11 +169,11 @@ def splitVersionNumber(vString): nBits = len(vBits) if nBits > 0: - vMajor = checkInt(vBits[0],0) + vMajor = checkInt(vBits[0], 0) if nBits > 1: - vMinor = checkInt(vBits[1],0) + vMinor = checkInt(vBits[1], 0) if nBits > 2: - vPatch = checkInt(vBits[2],0) + vPatch = checkInt(vBits[2], 0) vInt = vMajor*10000 + vMinor*100 + vPatch diff --git a/nw/config.py b/nw/config.py index 97e78c90..f31a0d9e 100644 --- a/nw/config.py +++ b/nw/config.py @@ -260,12 +260,12 @@ class Config: self.homePath = path.expanduser("~") self.lastPath = self.homePath self.appPath = getattr(sys, "_MEIPASS", path.abspath(path.dirname(__file__))) - self.appRoot = path.join(self.appPath,path.pardir) - self.assetPath = path.join(self.appPath,"assets") - self.themeRoot = path.join(self.assetPath,"themes") - self.graphPath = path.join(self.assetPath,"graphics") - self.dictPath = path.join(self.assetPath,"dict") - self.iconPath = path.join(self.assetPath,"icons") + self.appRoot = path.join(self.appPath, path.pardir) + self.assetPath = path.join(self.appPath, "assets") + self.themeRoot = path.join(self.assetPath, "themes") + self.graphPath = path.join(self.assetPath, "graphics") + self.dictPath = path.join(self.assetPath, "dict") + self.iconPath = path.join(self.assetPath, "icons") self.appIcon = path.join(self.iconPath, "novelwriter.svg") logger.verbose("App path: %s" % self.appPath) @@ -549,85 +549,85 @@ class Config: ## Main cnfSec = "Main" cnfParse.add_section(cnfSec) - cnfParse.set(cnfSec,"timestamp", formatTimeStamp(time())) - cnfParse.set(cnfSec,"theme", str(self.guiTheme)) - cnfParse.set(cnfSec,"syntax", str(self.guiSyntax)) - cnfParse.set(cnfSec,"icons", str(self.guiIcons)) - cnfParse.set(cnfSec,"guidark", str(self.guiDark)) - cnfParse.set(cnfSec,"guifont", str(self.guiFont)) - cnfParse.set(cnfSec,"guifontsize", str(self.guiFontSize)) + cnfParse.set(cnfSec, "timestamp", formatTimeStamp(time())) + cnfParse.set(cnfSec, "theme", str(self.guiTheme)) + cnfParse.set(cnfSec, "syntax", str(self.guiSyntax)) + cnfParse.set(cnfSec, "icons", str(self.guiIcons)) + cnfParse.set(cnfSec, "guidark", str(self.guiDark)) + cnfParse.set(cnfSec, "guifont", str(self.guiFont)) + cnfParse.set(cnfSec, "guifontsize", str(self.guiFontSize)) ## Sizes cnfSec = "Sizes" cnfParse.add_section(cnfSec) - cnfParse.set(cnfSec,"geometry", self._packList(self.winGeometry)) - cnfParse.set(cnfSec,"treecols", self._packList(self.treeColWidth)) - cnfParse.set(cnfSec,"projcols", self._packList(self.projColWidth)) - cnfParse.set(cnfSec,"mainpane", self._packList(self.mainPanePos)) - cnfParse.set(cnfSec,"docpane", self._packList(self.docPanePos)) - cnfParse.set(cnfSec,"viewpane", self._packList(self.viewPanePos)) - cnfParse.set(cnfSec,"outlinepane", self._packList(self.outlnPanePos)) - cnfParse.set(cnfSec,"fullscreen", str(self.isFullScreen)) + cnfParse.set(cnfSec, "geometry", self._packList(self.winGeometry)) + cnfParse.set(cnfSec, "treecols", self._packList(self.treeColWidth)) + cnfParse.set(cnfSec, "projcols", self._packList(self.projColWidth)) + cnfParse.set(cnfSec, "mainpane", self._packList(self.mainPanePos)) + cnfParse.set(cnfSec, "docpane", self._packList(self.docPanePos)) + cnfParse.set(cnfSec, "viewpane", self._packList(self.viewPanePos)) + cnfParse.set(cnfSec, "outlinepane", self._packList(self.outlnPanePos)) + cnfParse.set(cnfSec, "fullscreen", str(self.isFullScreen)) ## Project cnfSec = "Project" cnfParse.add_section(cnfSec) - cnfParse.set(cnfSec,"autosaveproject", str(self.autoSaveProj)) - cnfParse.set(cnfSec,"autosavedoc", str(self.autoSaveDoc)) + cnfParse.set(cnfSec, "autosaveproject", str(self.autoSaveProj)) + cnfParse.set(cnfSec, "autosavedoc", str(self.autoSaveDoc)) ## Editor cnfSec = "Editor" cnfParse.add_section(cnfSec) - cnfParse.set(cnfSec,"textfont", str(self.textFont)) - cnfParse.set(cnfSec,"textsize", str(self.textSize)) - cnfParse.set(cnfSec,"fixedwidth", str(self.textFixedW)) - cnfParse.set(cnfSec,"width", str(self.textWidth)) - cnfParse.set(cnfSec,"margin", str(self.textMargin)) - cnfParse.set(cnfSec,"tabwidth", str(self.tabWidth)) - cnfParse.set(cnfSec,"focuswidth", str(self.focusWidth)) - cnfParse.set(cnfSec,"hidefocusfooter", str(self.hideFocusFooter)) - cnfParse.set(cnfSec,"justify", str(self.doJustify)) - cnfParse.set(cnfSec,"autoselect", str(self.autoSelect)) - cnfParse.set(cnfSec,"autoreplace", str(self.doReplace)) - cnfParse.set(cnfSec,"repsquotes", str(self.doReplaceSQuote)) - cnfParse.set(cnfSec,"repdquotes", str(self.doReplaceDQuote)) - cnfParse.set(cnfSec,"repdash", str(self.doReplaceDash)) - cnfParse.set(cnfSec,"repdots", str(self.doReplaceDots)) - cnfParse.set(cnfSec,"fmtsinglequote", self._packList(self.fmtSingleQuotes)) - cnfParse.set(cnfSec,"fmtdoublequote", self._packList(self.fmtDoubleQuotes)) - cnfParse.set(cnfSec,"spelltool", str(self.spellTool)) - cnfParse.set(cnfSec,"spellcheck", str(self.spellLanguage)) - cnfParse.set(cnfSec,"showtabsnspaces", str(self.showTabsNSpaces)) - cnfParse.set(cnfSec,"showlineendings", str(self.showLineEndings)) - cnfParse.set(cnfSec,"bigdoclimit", str(self.bigDocLimit)) - cnfParse.set(cnfSec,"showfullpath", str(self.showFullPath)) - cnfParse.set(cnfSec,"highlightquotes", str(self.highlightQuotes)) - cnfParse.set(cnfSec,"highlightemph", str(self.highlightEmph)) + cnfParse.set(cnfSec, "textfont", str(self.textFont)) + cnfParse.set(cnfSec, "textsize", str(self.textSize)) + cnfParse.set(cnfSec, "fixedwidth", str(self.textFixedW)) + cnfParse.set(cnfSec, "width", str(self.textWidth)) + cnfParse.set(cnfSec, "margin", str(self.textMargin)) + cnfParse.set(cnfSec, "tabwidth", str(self.tabWidth)) + cnfParse.set(cnfSec, "focuswidth", str(self.focusWidth)) + cnfParse.set(cnfSec, "hidefocusfooter", str(self.hideFocusFooter)) + cnfParse.set(cnfSec, "justify", str(self.doJustify)) + cnfParse.set(cnfSec, "autoselect", str(self.autoSelect)) + cnfParse.set(cnfSec, "autoreplace", str(self.doReplace)) + cnfParse.set(cnfSec, "repsquotes", str(self.doReplaceSQuote)) + cnfParse.set(cnfSec, "repdquotes", str(self.doReplaceDQuote)) + cnfParse.set(cnfSec, "repdash", str(self.doReplaceDash)) + cnfParse.set(cnfSec, "repdots", str(self.doReplaceDots)) + cnfParse.set(cnfSec, "fmtsinglequote", self._packList(self.fmtSingleQuotes)) + cnfParse.set(cnfSec, "fmtdoublequote", self._packList(self.fmtDoubleQuotes)) + cnfParse.set(cnfSec, "spelltool", str(self.spellTool)) + cnfParse.set(cnfSec, "spellcheck", str(self.spellLanguage)) + cnfParse.set(cnfSec, "showtabsnspaces", str(self.showTabsNSpaces)) + cnfParse.set(cnfSec, "showlineendings", str(self.showLineEndings)) + cnfParse.set(cnfSec, "bigdoclimit", str(self.bigDocLimit)) + cnfParse.set(cnfSec, "showfullpath", str(self.showFullPath)) + cnfParse.set(cnfSec, "highlightquotes", str(self.highlightQuotes)) + cnfParse.set(cnfSec, "highlightemph", str(self.highlightEmph)) ## Backup cnfSec = "Backup" cnfParse.add_section(cnfSec) - cnfParse.set(cnfSec,"backuppath", str(self.backupPath)) - cnfParse.set(cnfSec,"backuponclose", str(self.backupOnClose)) - cnfParse.set(cnfSec,"askbeforebackup",str(self.askBeforeBackup)) + cnfParse.set(cnfSec, "backuppath", str(self.backupPath)) + cnfParse.set(cnfSec, "backuponclose", str(self.backupOnClose)) + cnfParse.set(cnfSec, "askbeforebackup", str(self.askBeforeBackup)) ## State cnfSec = "State" cnfParse.add_section(cnfSec) - cnfParse.set(cnfSec,"showrefpanel", str(self.showRefPanel)) - cnfParse.set(cnfSec,"viewcomments", str(self.viewComments)) - cnfParse.set(cnfSec,"viewsynopsis", str(self.viewSynopsis)) - cnfParse.set(cnfSec,"searchcase", str(self.searchCase)) - cnfParse.set(cnfSec,"searchword", str(self.searchWord)) - cnfParse.set(cnfSec,"searchregex", str(self.searchRegEx)) - cnfParse.set(cnfSec,"searchloop", str(self.searchLoop)) - cnfParse.set(cnfSec,"searchnextfile", str(self.searchNextFile)) - cnfParse.set(cnfSec,"searchmatchcap", str(self.searchMatchCap)) + cnfParse.set(cnfSec, "showrefpanel", str(self.showRefPanel)) + cnfParse.set(cnfSec, "viewcomments", str(self.viewComments)) + cnfParse.set(cnfSec, "viewsynopsis", str(self.viewSynopsis)) + cnfParse.set(cnfSec, "searchcase", str(self.searchCase)) + cnfParse.set(cnfSec, "searchword", str(self.searchWord)) + cnfParse.set(cnfSec, "searchregex", str(self.searchRegEx)) + cnfParse.set(cnfSec, "searchloop", str(self.searchLoop)) + cnfParse.set(cnfSec, "searchnextfile", str(self.searchNextFile)) + cnfParse.set(cnfSec, "searchmatchcap", str(self.searchMatchCap)) ## Path cnfSec = "Path" cnfParse.add_section(cnfSec) - cnfParse.set(cnfSec,"lastpath", str(self.lastPath)) + cnfParse.set(cnfSec, "lastpath", str(self.lastPath)) # Write config file cnfPath = path.join(self.confPath, self.confFile) diff --git a/nw/core/document.py b/nw/core/document.py index 0c29f995..022e608e 100644 --- a/nw/core/document.py +++ b/nw/core/document.py @@ -192,7 +192,7 @@ class NWDoc(): unlink(chkFile) logger.debug("Deleted: %s" % chkFile) except Exception as e: - self.makeAlert(["Could not delete document file.",str(e)], nwAlert.ERROR) + self.makeAlert(["Could not delete document file.", str(e)], nwAlert.ERROR) return False return True diff --git a/nw/core/index.py b/nw/core/index.py index b32c8f38..b111e9b1 100644 --- a/nw/core/index.py +++ b/nw/core/index.py @@ -135,7 +135,7 @@ class NWIndex(): if path.isfile(indexFile): logger.debug("Loading index file") try: - with open(indexFile,mode="r",encoding="utf8") as inFile: + with open(indexFile, mode="r", encoding="utf8") as inFile: theJson = inFile.read() theData = json.loads(theJson) except Exception as e: @@ -520,7 +520,7 @@ class NWIndex(): return isGood # If we're still here, we better check that the references exist - for n in range(1,nBits): + for n in range(1, nBits): if theBits[n] in self.tagIndex: isGood[n] = self.TAG_CLASS[theBits[0]].name == self.tagIndex[theBits[n]][2] diff --git a/nw/core/item.py b/nw/core/item.py index 0eb4ef26..834164fd 100644 --- a/nw/core/item.py +++ b/nw/core/item.py @@ -68,24 +68,24 @@ class NWItem(): def packXML(self, xParent): """Packs all the data in the class instance into an XML object. """ - xPack = etree.SubElement(xParent,"item",attrib={ + xPack = etree.SubElement(xParent, "item", attrib={ "handle" : str(self.itemHandle), "order" : str(self.itemOrder), "parent" : str(self.parHandle), }) - xSub = self._subPack(xPack,"name", text=str(self.itemName)) - xSub = self._subPack(xPack,"type", text=str(self.itemType.name)) - xSub = self._subPack(xPack,"class", text=str(self.itemClass.name)) - xSub = self._subPack(xPack,"status", text=str(self.itemStatus)) + xSub = self._subPack(xPack, "name", text=str(self.itemName)) + xSub = self._subPack(xPack, "type", text=str(self.itemType.name)) + xSub = self._subPack(xPack, "class", text=str(self.itemClass.name)) + xSub = self._subPack(xPack, "status", text=str(self.itemStatus)) if self.itemType == nwItemType.FILE: - xSub = self._subPack(xPack,"exported", text=str(self.isExported)) - xSub = self._subPack(xPack,"layout", text=str(self.itemLayout.name)) - xSub = self._subPack(xPack,"charCount", text=str(self.charCount), none=False) - xSub = self._subPack(xPack,"wordCount", text=str(self.wordCount), none=False) - xSub = self._subPack(xPack,"paraCount", text=str(self.paraCount), none=False) - xSub = self._subPack(xPack,"cursorPos", text=str(self.cursorPos), none=False) + xSub = self._subPack(xPack, "exported", text=str(self.isExported)) + xSub = self._subPack(xPack, "layout", text=str(self.itemLayout.name)) + xSub = self._subPack(xPack, "charCount", text=str(self.charCount), none=False) + xSub = self._subPack(xPack, "wordCount", text=str(self.wordCount), none=False) + xSub = self._subPack(xPack, "paraCount", text=str(self.paraCount), none=False) + xSub = self._subPack(xPack, "cursorPos", text=str(self.cursorPos), none=False) else: - xSub = self._subPack(xPack,"expanded", text=str(self.isExpanded)) + xSub = self._subPack(xPack, "expanded", text=str(self.isExpanded)) return def unpackXML(self, xItem): diff --git a/nw/core/project.py b/nw/core/project.py index 3404370e..b7f6596f 100644 --- a/nw/core/project.py +++ b/nw/core/project.py @@ -206,15 +206,15 @@ class NWProject(): self.spellCheck = False self.autoOutline = True self.statusItems = NWStatus() - self.statusItems.addEntry("New", (100, 100, 100)) - self.statusItems.addEntry("Note", (200, 50, 0)) - self.statusItems.addEntry("Draft", (200, 150, 0)) - self.statusItems.addEntry("Finished",( 50, 200, 0)) + self.statusItems.addEntry("New", (100, 100, 100)) + self.statusItems.addEntry("Note", (200, 50, 0)) + self.statusItems.addEntry("Draft", (200, 150, 0)) + self.statusItems.addEntry("Finished", ( 50, 200, 0)) self.importItems = NWStatus() - self.importItems.addEntry("New", (100, 100, 100)) - self.importItems.addEntry("Minor", (200, 50, 0)) - self.importItems.addEntry("Major", (200, 150, 0)) - self.importItems.addEntry("Main", ( 50, 200, 0)) + self.importItems.addEntry("New", (100, 100, 100)) + self.importItems.addEntry("Minor", (200, 50, 0)) + self.importItems.addEntry("Major", (200, 150, 0)) + self.importItems.addEntry("Main", ( 50, 200, 0)) self.lastEdited = None self.lastViewed = None self.lastWCount = 0 @@ -421,7 +421,7 @@ class NWProject(): try: nwXML = etree.parse(fileName) except Exception as e: - self.makeAlert(["Failed to parse project xml.",str(e)], nwAlert.ERROR) + self.makeAlert(["Failed to parse project xml.", str(e)], nwAlert.ERROR) # Trying to open backup file instead backFile = fileName[:-3]+"bak" @@ -430,7 +430,7 @@ class NWProject(): try: nwXML = etree.parse(backFile) except Exception as e: - self.makeAlert(["Failed to parse project xml.",str(e)], nwAlert.ERROR) + self.makeAlert(["Failed to parse project xml.", str(e)], nwAlert.ERROR) self.clearProject() return False else: @@ -794,7 +794,7 @@ class NWProject(): logger.debug("Created folder %s" % baseDir) except Exception as e: self.theParent.makeAlert( - ["Could not create backup folder.",str(e)], + ["Could not create backup folder.", str(e)], nwAlert.ERROR ) return False @@ -823,7 +823,7 @@ class NWProject(): logger.info("Backup written to: %s" % archName) except Exception as e: self.theParent.makeAlert( - ["Could not write backup archive.",str(e)], + ["Could not write backup archive.", str(e)], nwAlert.ERROR ) return False @@ -1231,7 +1231,7 @@ class NWProject(): mkdir(thePath) logger.debug("Created folder %s" % thePath) except Exception as e: - self.makeAlert(["Could not create folder.",str(e)], nwAlert.ERROR) + self.makeAlert(["Could not create folder.", str(e)], nwAlert.ERROR) return False return True diff --git a/nw/core/spellcheck.py b/nw/core/spellcheck.py index d4740b56..50323cc0 100644 --- a/nw/core/spellcheck.py +++ b/nw/core/spellcheck.py @@ -75,7 +75,7 @@ class NWSpellCheck(): newWord = newWord.strip() self.PROJW.append(newWord) try: - with open(self.projectDict,mode="a+",encoding="utf-8") as outFile: + with open(self.projectDict, mode="a+", encoding="utf-8") as outFile: outFile.write("%s\n" % newWord) except Exception as e: logger.error("Failed to add word to project word list %s" % str(self.projectDict)) @@ -231,9 +231,9 @@ class NWSpellSimple(NWSpellCheck): """Load a dictionary as a list from the app assets folder. """ self.WORDS = [] - dictFile = path.join(self.mainConf.dictPath,theLang+".dict") + dictFile = path.join(self.mainConf.dictPath, theLang+".dict") try: - with open(dictFile,mode="r",encoding="utf-8") as wordsFile: + with open(dictFile, mode="r", encoding="utf-8") as wordsFile: for theLine in wordsFile: if len(theLine) == 0 or theLine.startswith("#"): continue @@ -258,7 +258,7 @@ class NWSpellSimple(NWSpellCheck): this function as fast as possible as it is called for every word by the syntax highlighter. """ - theWord = theWord.replace(self.mainConf.fmtApostrophe,"'").lower() + theWord = theWord.replace(self.mainConf.fmtApostrophe, "'").lower() return theWord in self.WORDS def suggestWords(self, theWord): @@ -282,7 +282,7 @@ class NWSpellSimple(NWSpellCheck): continue if firstUp: aWord = aWord[0].upper() + aWord[1:] - aWord = aWord.replace("'",self.mainConf.fmtApostrophe) + aWord = aWord.replace("'", self.mainConf.fmtApostrophe) theOptions.append(aWord) return theOptions diff --git a/nw/core/status.py b/nw/core/status.py index 3dd26b35..6b67ac67 100644 --- a/nw/core/status.py +++ b/nw/core/status.py @@ -121,7 +121,7 @@ class NWStatus(): main project file. """ for n in range(self.theLength): - xSub = etree.SubElement(xParent,"entry",attrib={ + xSub = etree.SubElement(xParent, "entry", attrib={ "blue" : str(self.theColours[n][2]), "green" : str(self.theColours[n][1]), "red" : str(self.theColours[n][0]), @@ -138,18 +138,18 @@ class NWStatus(): for xChild in xParent: theLabels.append(xChild.text) if "red" in xChild.attrib: - cR = checkInt(xChild.attrib["red"],0,False) + cR = checkInt(xChild.attrib["red"], 0, False) else: cR = 0 if "green" in xChild.attrib: - cG = checkInt(xChild.attrib["green"],0,False) + cG = checkInt(xChild.attrib["green"], 0, False) else: cG = 0 if "blue" in xChild.attrib: - cB = checkInt(xChild.attrib["blue"],0,False) + cB = checkInt(xChild.attrib["blue"], 0, False) else: cB = 0 - theColours.append((cR,cG,cB)) + theColours.append((cR, cG, cB)) if len(theLabels) > 0: self.theLabels = [] diff --git a/nw/core/tokenizer.py b/nw/core/tokenizer.py index 2ea8f330..0314d9af 100644 --- a/nw/core/tokenizer.py +++ b/nw/core/tokenizer.py @@ -418,11 +418,11 @@ class Tokenizer(): rxThis = theRX.globalMatch(aLine, 0) while rxThis.hasNext(): rxMatch = rxThis.next() - for n in range(1,len(theKeys)): + for n in range(1, len(theKeys)): if theKeys[n] is not None: xPos = rxMatch.capturedStart(n) xLen = rxMatch.capturedLength(n) - fmtPos.append([xPos,xLen,theKeys[n]]) + fmtPos.append([xPos, xLen, theKeys[n]]) # Save the line as is, but append the array of formatting locations # sorted by position @@ -686,7 +686,7 @@ class Tokenizer(): theTitle = theTitle.replace(r"%sc%", str(self.numChScene)) theTitle = theTitle.replace(r"%sca%", str(self.numAbsScene)) if r"%chw%" in theTitle: - theTitle = theTitle.replace(r"%chw%", numberToWord(self.numChapter,"en")) + theTitle = theTitle.replace(r"%chw%", numberToWord(self.numChapter, "en")) if r"%chi%" in theTitle: theTitle = theTitle.replace(r"%chi%", numberToRoman(self.numChapter, True)) if r"%chI%" in theTitle: diff --git a/nw/core/tools.py b/nw/core/tools.py index 1e1efdd1..5ed4283e 100644 --- a/nw/core/tools.py +++ b/nw/core/tools.py @@ -73,7 +73,7 @@ def countWords(theText): charCount -= 2 countPara = False - theBuff = aLine.replace("–"," ").replace("—"," ") + theBuff = aLine.replace("–", " ").replace("—", " ") wordCount += len(theBuff.split()) charCount += theLen if countPara and prevEmpty: diff --git a/nw/core/tree.py b/nw/core/tree.py index bafb5306..cde46b4e 100644 --- a/nw/core/tree.py +++ b/nw/core/tree.py @@ -114,7 +114,7 @@ class NWTree(): """Pack the content of the tree into an XML object. """ xContent = etree.SubElement(xParent, "content", attrib={ - "count":str(self._theLength)} + "count": str(self._theLength)} ) for tHandle in self._treeOrder: tItem = self.__getitem__(tHandle) @@ -154,7 +154,7 @@ class NWTree(): outFile.write(" Table of Contents\n") outFile.write("===================\n") outFile.write("\n") - outFile.write(" %-25s %-9s %s\n" %("File Name","Class","Document Label")) + outFile.write(" %-25s %-9s %s\n" %("File Name", "Class", "Document Label")) outFile.write("-"*80+"\n") for tHandle in sorted(self._treeOrder): tItem = self.__getitem__(tHandle) diff --git a/nw/gui/doceditor.py b/nw/gui/doceditor.py index b53183de..28624006 100644 --- a/nw/gui/doceditor.py +++ b/nw/gui/doceditor.py @@ -1475,12 +1475,12 @@ class GuiDocEditSearch(QFrame): self.showReplace.setStyleSheet(r"QToolButton {border: none; background: transparent;}") self.showReplace.toggled.connect(self._doToggleReplace) - self.searchButton = QPushButton(self.theTheme.getIcon("search"),"") + self.searchButton = QPushButton(self.theTheme.getIcon("search"), "") self.searchButton.setFixedSize(QSize(bPx, bPx)) self.searchButton.setToolTip("Find in current document") self.searchButton.clicked.connect(self._doSearch) - self.replaceButton = QPushButton(self.theTheme.getIcon("search-replace"),"") + self.replaceButton = QPushButton(self.theTheme.getIcon("search-replace"), "") self.replaceButton.setFixedSize(QSize(bPx, bPx)) self.replaceButton.setToolTip("Find and replace in current document") self.replaceButton.clicked.connect(self._doReplace) diff --git a/nw/gui/dochighlight.py b/nw/gui/dochighlight.py index 8f32bfca..4be70d5c 100644 --- a/nw/gui/dochighlight.py +++ b/nw/gui/dochighlight.py @@ -55,18 +55,18 @@ class GuiDocHighlighter(QSyntaxHighlighter): self.hRules = [] self.hStyles = {} - self.colHead = QColor(0,0,0) - self.colHeadH = QColor(0,0,0) - self.colEmph = QColor(0,0,0) - self.colDialN = QColor(0,0,0) - self.colDialD = QColor(0,0,0) - self.colDialS = QColor(0,0,0) - self.colComm = QColor(0,0,0) - self.colKey = QColor(0,0,0) - self.colVal = QColor(0,0,0) - self.colSpell = QColor(0,0,0) - self.colTagErr = QColor(0,0,0) - self.colRepTag = QColor(0,0,0) + self.colHead = QColor(0, 0, 0) + self.colHeadH = QColor(0, 0, 0) + self.colEmph = QColor(0, 0, 0) + self.colDialN = QColor(0, 0, 0) + self.colDialD = QColor(0, 0, 0) + self.colDialS = QColor(0, 0, 0) + self.colComm = QColor(0, 0, 0) + self.colKey = QColor(0, 0, 0) + self.colVal = QColor(0, 0, 0) + self.colSpell = QColor(0, 0, 0) + self.colTagErr = QColor(0, 0, 0) + self.colRepTag = QColor(0, 0, 0) self.initHighlighter() @@ -143,7 +143,7 @@ class GuiDocHighlighter(QSyntaxHighlighter): # Quoted Strings if self.mainConf.highlightQuotes: self.hRules.append(( - "{:s}(.+?){:s}".format('"','"'), { + "{:s}(.+?){:s}".format('"', '"'), { 0 : self.hStyles["dialogue1"], } )) diff --git a/nw/gui/itemdetails.py b/nw/gui/itemdetails.py index dea27381..f1788f06 100644 --- a/nw/gui/itemdetails.py +++ b/nw/gui/itemdetails.py @@ -238,7 +238,7 @@ class GuiItemDetails(QWidget): else: self.labelFlag.setPixmap(self.expCross) else: - self.labelFlag.setPixmap(QPixmap(1,1)) + self.labelFlag.setPixmap(QPixmap(1, 1)) self.statusFlag.setPixmap(flagIcon.pixmap(self.sPx, self.sPx)) self.classFlag.setText(nwLabels.CLASS_FLAG[nwItem.itemClass]) if nwItem.itemLayout == nwItemLayout.NO_LAYOUT: diff --git a/nw/gui/itemeditor.py b/nw/gui/itemeditor.py index 1a149a09..13024641 100644 --- a/nw/gui/itemeditor.py +++ b/nw/gui/itemeditor.py @@ -96,7 +96,7 @@ class GuiItemEditor(QDialog): for itemLayout in nwItemLayout: if itemLayout in self.validLayouts: - self.editLayout.addItem(nwLabels.LAYOUT_NAME[itemLayout],itemLayout) + self.editLayout.addItem(nwLabels.LAYOUT_NAME[itemLayout], itemLayout) # Export Switch self.textExport = QLabel("Include when building project") diff --git a/nw/gui/mainmenu.py b/nw/gui/mainmenu.py index b81bac82..99a4b5c9 100644 --- a/nw/gui/mainmenu.py +++ b/nw/gui/mainmenu.py @@ -607,9 +607,9 @@ class GuiMainMenu(QMenuBar): self.aFindNext = QAction("Find Next", self) self.aFindNext.setStatusTip("Find next occurrence text in document") if self.mainConf.osDarwin: - self.aFindNext.setShortcuts(["Ctrl+G","F3"]) + self.aFindNext.setShortcuts(["Ctrl+G", "F3"]) else: - self.aFindNext.setShortcuts(["F3","Ctrl+G"]) + self.aFindNext.setShortcuts(["F3", "Ctrl+G"]) self.aFindNext.triggered.connect(lambda: self._docAction(nwDocAction.GO_NEXT)) self.srcMenu.addAction(self.aFindNext) @@ -617,9 +617,9 @@ class GuiMainMenu(QMenuBar): self.aFindPrev = QAction("Find Previous", self) self.aFindPrev.setStatusTip("Find previous occurrence text in document") if self.mainConf.osDarwin: - self.aFindPrev.setShortcuts(["Ctrl+Shift+G","Shift+F3"]) + self.aFindPrev.setShortcuts(["Ctrl+Shift+G", "Shift+F3"]) else: - self.aFindPrev.setShortcuts(["Shift+F3","Ctrl+Shift+G"]) + self.aFindPrev.setShortcuts(["Shift+F3", "Ctrl+Shift+G"]) self.aFindPrev.triggered.connect(lambda: self._docAction(nwDocAction.GO_PREV)) self.srcMenu.addAction(self.aFindPrev) @@ -717,7 +717,7 @@ class GuiMainMenu(QMenuBar): # Format > Remove Block Format self.aFmtNoFormat = QAction("Remove Block Format", self) self.aFmtNoFormat.setStatusTip("Strips block format") - self.aFmtNoFormat.setShortcuts(["Ctrl+0","Ctrl+Shift+/"]) + self.aFmtNoFormat.setShortcuts(["Ctrl+0", "Ctrl+Shift+/"]) self.aFmtNoFormat.triggered.connect(lambda: self._docAction(nwDocAction.BLOCK_TXT)) self.fmtMenu.addAction(self.aFmtNoFormat) @@ -870,7 +870,7 @@ class GuiMainMenu(QMenuBar): if self.mainConf.hasHelp and self.mainConf.hasAssistant: self.aHelpWeb.setShortcut("Shift+F1") else: - self.aHelpWeb.setShortcuts(["F1","Shift+F1"]) + self.aHelpWeb.setShortcuts(["F1", "Shift+F1"]) self.helpMenu.addAction(self.aHelpWeb) # Document > Go to Website diff --git a/nw/gui/preferences.py b/nw/gui/preferences.py index 8b103194..3cdb515e 100644 --- a/nw/gui/preferences.py +++ b/nw/gui/preferences.py @@ -342,7 +342,7 @@ class GuiConfigEditGeneralTab(QWidget): dlgOpt |= QFileDialog.ShowDirsOnly dlgOpt |= QFileDialog.DontUseNativeDialog newDir = QFileDialog.getExistingDirectory( - self,"Backup Directory",currDir,options=dlgOpt + self, "Backup Directory", currDir, options=dlgOpt ) if newDir: self.backupPath = newDir diff --git a/nw/gui/projsettings.py b/nw/gui/projsettings.py index 86ea3ead..1eabac39 100644 --- a/nw/gui/projsettings.py +++ b/nw/gui/projsettings.py @@ -69,11 +69,11 @@ class GuiProjectSettings(PagedDialog): self.tabImport = GuiProjectEditStatus(self.theParent, self.theProject, False) self.tabReplace = GuiProjectEditReplace(self.theParent, self.theProject) - self.addTab(self.tabMain, "Settings") - self.addTab(self.tabMeta, "Details") - self.addTab(self.tabStatus, "Status") - self.addTab(self.tabImport, "Importance") - self.addTab(self.tabReplace,"Auto-Replace") + self.addTab(self.tabMain, "Settings") + self.addTab(self.tabMeta, "Details") + self.addTab(self.tabStatus, "Status") + self.addTab(self.tabImport, "Importance") + self.addTab(self.tabReplace, "Auto-Replace") self.buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) self.buttonBox.accepted.connect(self._doSave) @@ -331,7 +331,7 @@ class GuiProjectEditStatus(QWidget): self.saveButton = QPushButton("Save") self.colPixmap = QPixmap(self.iPx, self.iPx) self.colPixmap.fill(QColor(120, 120, 120)) - self.colButton = QPushButton(QIcon(self.colPixmap),"Colour") + self.colButton = QPushButton(QIcon(self.colPixmap), "Colour") self.colButton.setIconSize(self.colPixmap.rect().size()) self.newButton.clicked.connect(self._newItem) @@ -513,7 +513,7 @@ class GuiProjectEditReplace(QWidget): self.optState.getInt("GuiProjectSettings", "replaceColW", 100) ) self.listBox = QTreeWidget() - self.listBox.setHeaderLabels(["Keyword","Replace With"]) + self.listBox.setHeaderLabels(["Keyword", "Replace With"]) self.listBox.itemSelectionChanged.connect(self._selectedItem) self.listBox.setColumnWidth(0, wCol0) self.listBox.setIndentation(0) @@ -601,8 +601,8 @@ class GuiProjectEditReplace(QWidget): saveKey = self._stripNotAllowed(newKey) if len(saveKey) > 0 and len(newVal) > 0: - selItem.setText(0,"<%s>" % saveKey) - selItem.setText(1,newVal) + selItem.setText(0, "<%s>" % saveKey) + selItem.setText(1, newVal) self.editKey.clear() self.editValue.clear() self.editKey.setEnabled(False) diff --git a/nw/gui/projtree.py b/nw/gui/projtree.py index ce7bf499..253f21bb 100644 --- a/nw/gui/projtree.py +++ b/nw/gui/projtree.py @@ -543,7 +543,7 @@ class GuiProjectTree(QTreeWidget): self.theProject.setProjectWordCount(nWords) sWords = self.theProject.getSessionWordCount() - self.theParent.statusBar.setStats(nWords,sWords) + self.theParent.statusBar.setStats(nWords, sWords) return @@ -841,7 +841,7 @@ class GuiProjectTree(QTreeWidget): self.setTreeItemValues(tHandle) self._setTreeChanged(True) - logger.debug("The parent of item %s has been changed to %s" % (tHandle,pHandle)) + logger.debug("The parent of item %s has been changed to %s" % (tHandle, pHandle)) return True diff --git a/nw/gui/projwizard.py b/nw/gui/projwizard.py index e95f0a26..bfadbcea 100644 --- a/nw/gui/projwizard.py +++ b/nw/gui/projwizard.py @@ -214,7 +214,7 @@ class ProjWizardFolderPage(QWizardPage): dlgOpt |= QFileDialog.ShowDirsOnly dlgOpt |= QFileDialog.DontUseNativeDialog projDir = QFileDialog.getExistingDirectory( - self,"Select Project Folder", lastPath, options=dlgOpt + self, "Select Project Folder", lastPath, options=dlgOpt ) if projDir: projName = self.field("projName") diff --git a/nw/gui/statusbar.py b/nw/gui/statusbar.py index 330d7de9..19b4c44f 100644 --- a/nw/gui/statusbar.py +++ b/nw/gui/statusbar.py @@ -212,7 +212,7 @@ class GuiMainStatus(QStatusBar): tH = int(tM/60) tM = tM - tH*60 tS = tS - tM*60 - tH*3600 - theTime = "%02d:%02d:%02d" % (tH,tM,tS) + theTime = "%02d:%02d:%02d" % (tH, tM, tS) self.timeText.setText(theTime) return diff --git a/nw/gui/theme.py b/nw/gui/theme.py index 226ccecb..685ab2b3 100644 --- a/nw/gui/theme.py +++ b/nw/gui/theme.py @@ -431,8 +431,8 @@ class GuiTheme: def _loadColour(self, confParser, cnfSec, cnfName): """Load a colour value from a config string. """ - if confParser.has_option(cnfSec,cnfName): - inData = confParser.get(cnfSec,cnfName).split(",") + if confParser.has_option(cnfSec, cnfName): + inData = confParser.get(cnfSec, cnfName).split(",") outData = [] try: outData.append(int(inData[0])) @@ -450,8 +450,8 @@ class GuiTheme: """Set a palette colour value from a config string. """ readCol = [] - if confParser.has_option(cnfSec,cnfName): - inData = confParser.get(cnfSec,cnfName).split(",") + if confParser.has_option(cnfSec, cnfName): + inData = confParser.get(cnfSec, cnfName).split(",") try: readCol.append(int(inData[0])) readCol.append(int(inData[1])) diff --git a/nw/gui/writingstats.py b/nw/gui/writingstats.py index 955376a7..424912e5 100644 --- a/nw/gui/writingstats.py +++ b/nw/gui/writingstats.py @@ -450,7 +450,7 @@ class GuiWritingStats(QDialog): except Exception as e: self.theParent.makeAlert( - ["Failed to read session log file.",str(e)], nwAlert.ERROR + ["Failed to read session log file.", str(e)], nwAlert.ERROR ) return False @@ -577,6 +577,6 @@ class GuiWritingStats(QDialog): tH = int(tM/60) tM = tM - tH*60 tS = tS - tM*60 - tH*3600 - return "%02d:%02d:%02d" % (tH,tM,tS) + return "%02d:%02d:%02d" % (tH, tM, tS) # END Class GuiWritingStats diff --git a/nw/guimain.py b/nw/guimain.py index 73c7eef0..26f82518 100644 --- a/nw/guimain.py +++ b/nw/guimain.py @@ -286,7 +286,7 @@ class GuiMain(QMainWindow): logger.error("No projData or projPath set") return False - if path.isfile(path.join(projPath,self.theProject.projFile)) and not forceNew: + if path.isfile(path.join(projPath, self.theProject.projFile)) and not forceNew: msgBox = QMessageBox() msgRes = msgBox.critical( self, "New Project", @@ -597,7 +597,7 @@ class GuiMain(QMainWindow): self.mainConf.setLastPath(loadFile) except Exception as e: self.makeAlert( - ["Could not read file. The file must be an existing text file.",str(e)], + ["Could not read file. The file must be an existing text file.", str(e)], nwAlert.ERROR ) return False