Use Ruff for linting and fix a ton of issues

This commit is contained in:
Veronica Berglyd Olsen
2025-04-03 01:15:52 +02:00
parent d2796d27c3
commit 53a2d0e691
43 changed files with 257 additions and 235 deletions
+22 -22
View File
@@ -74,7 +74,7 @@ def testGuiEditor_Init(qtbot, nwGUI, projPath, ipsumText, mockRnd):
assert nwGUI.openDocument(C.hSceneDoc)
docEditor = nwGUI.docEditor
docEditor.setPlainText("### Lorem Ipsum\n\n%s" % ipsumText[0])
docEditor.setPlainText(f"### Lorem Ipsum\n\n{ipsumText[0]}")
nwGUI.saveDocument()
# Check Defaults
@@ -147,7 +147,7 @@ def testGuiEditor_LoadText(qtbot, nwGUI, projPath, ipsumText, mockRnd):
assert nwGUI.openDocument(C.hSceneDoc) is True
docEditor = nwGUI.docEditor
longText = "### Lorem Ipsum\n\n%s" % "\n\n".join(ipsumText*20)
longText = "### Lorem Ipsum\n\n{0}".format("\n\n".join(ipsumText*20))
docEditor.replaceText(longText)
nwGUI.saveDocument()
nwGUI.closeDocument()
@@ -179,7 +179,7 @@ def testGuiEditor_SaveText(qtbot, monkeypatch, caplog, nwGUI, projPath, ipsumTex
assert nwGUI.openDocument(C.hSceneDoc) is True
docEditor = nwGUI.docEditor
longText = "### Lorem Ipsum\n\n%s" % "\n\n".join(ipsumText)
longText = "### Lorem Ipsum\n\n{0}".format("\n\n".join(ipsumText))
docEditor.replaceText(longText)
# Missing item
@@ -483,7 +483,7 @@ def testGuiEditor_SpellChecking(qtbot, monkeypatch, nwGUI, projPath, ipsumText,
assert nwGUI.openDocument(C.hSceneDoc) is True
docEditor = nwGUI.docEditor
text = "### A Scene\n\n%s" % "\n\n".join(ipsumText)
text = "### A Scene\n\n{0}".format("\n\n".join(ipsumText))
docEditor.replaceText(text)
# Toggle State
@@ -584,7 +584,7 @@ def testGuiEditor_Actions(qtbot, nwGUI, projPath, ipsumText, mockRnd):
assert nwGUI.openDocument(C.hSceneDoc) is True
docEditor = nwGUI.docEditor
text = "### A Scene\n\n%s" % "\n\n".join(ipsumText)
text = "### A Scene\n\n{0}".format("\n\n".join(ipsumText))
docEditor.replaceText(text)
doc = docEditor.document()
@@ -650,7 +650,7 @@ def testGuiEditor_Actions(qtbot, nwGUI, projPath, ipsumText, mockRnd):
# Emphasis/Undo/Redo
# ==================
text = "### A Scene\n\n%s" % ipsumText[0]
text = f"### A Scene\n\n{ipsumText[0]}"
docEditor.replaceText(text)
# Emphasis
@@ -683,7 +683,7 @@ def testGuiEditor_Actions(qtbot, nwGUI, projPath, ipsumText, mockRnd):
# Shortcodes
# ==========
text = "### A Scene\n\n%s" % ipsumText[0]
text = f"### A Scene\n\n{ipsumText[0]}"
docEditor.replaceText(text)
# Italic
@@ -738,7 +738,7 @@ def testGuiEditor_Actions(qtbot, nwGUI, projPath, ipsumText, mockRnd):
# Quotes
# ======
text = "### A Scene\n\n%s" % ipsumText[0]
text = f"### A Scene\n\n{ipsumText[0]}"
docEditor.replaceText(text)
# Add Single Quotes
@@ -772,7 +772,7 @@ def testGuiEditor_Actions(qtbot, nwGUI, projPath, ipsumText, mockRnd):
# Remove Line Breaks
# ==================
text = "### A Scene\n\n%s" % ipsumText[0]
text = f"### A Scene\n\n{ipsumText[0]}"
repText = text[:100] + text[100:].replace(" ", "\n", 3)
docEditor.replaceText(repText)
assert docEditor.docAction(nwDocAction.RM_BREAKS) is True
@@ -974,7 +974,7 @@ def testGuiEditor_Insert(qtbot, monkeypatch, nwGUI, projPath, ipsumText, mockRnd
buildTestProject(nwGUI, projPath)
assert nwGUI.openDocument(C.hSceneDoc) is True
docEditor = nwGUI.docEditor
text = "### A Scene\n\n%s" % ipsumText[0]
text = f"### A Scene\n\n{ipsumText[0]}"
# Insert Text
# ===========
@@ -1037,7 +1037,7 @@ def testGuiEditor_Insert(qtbot, monkeypatch, nwGUI, projPath, ipsumText, mockRnd
# Insert KeyWords
# ===============
text = "### A Scene\n\n\n%s" % ipsumText[0]
text = f"### A Scene\n\n\n{ipsumText[0]}"
docEditor.replaceText(text)
docEditor.setCursorLine(3)
@@ -1076,13 +1076,13 @@ def testGuiEditor_TextManipulation(qtbot, nwGUI, projPath, ipsumText, mockRnd):
assert nwGUI.openDocument(C.hSceneDoc) is True
docEditor = nwGUI.docEditor
text = "### A Scene\n\n%s" % "\n\n".join(ipsumText)
text = "### A Scene\n\n{0}".format("\n\n".join(ipsumText))
docEditor.replaceText(text)
# Wrap Selection
# ==============
text = "### A Scene\n\n%s" % "\n\n".join(ipsumText[0:2])
text = "### A Scene\n\n{0}".format("\n\n".join(ipsumText[0:2]))
docEditor.replaceText(text)
docEditor.setCursorPosition(45)
@@ -1114,7 +1114,7 @@ def testGuiEditor_TextManipulation(qtbot, nwGUI, projPath, ipsumText, mockRnd):
# Toggle Format
# =============
text = "### A Scene\n\n%s" % "\n\n".join(ipsumText[0:2])
text = "### A Scene\n\n{0}".format("\n\n".join(ipsumText[0:2]))
# Block format repetition
docEditor.replaceText(text)
@@ -1186,7 +1186,7 @@ def testGuiEditor_TextManipulation(qtbot, nwGUI, projPath, ipsumText, mockRnd):
# ==============
# No Selection
text = "### A Scene\n\n%s" % ipsumText[0].replace("consectetur", "=consectetur=")
text = "### A Scene\n\n{0}".format(ipsumText[0].replace("consectetur", "=consectetur="))
docEditor.replaceText(text)
docEditor.setCursorPosition(45)
docEditor._replaceQuotes("=", "<", ">")
@@ -1194,7 +1194,7 @@ def testGuiEditor_TextManipulation(qtbot, nwGUI, projPath, ipsumText, mockRnd):
# First Paragraph Selected
# This should not replace anything in second paragraph
text = "### A Scene\n\n%s" % "\n\n".join(ipsumText[0:2]).replace("ipsum", "=ipsum=")
text = "### A Scene\n\n{0}".format("\n\n".join(ipsumText[0:2]).replace("ipsum", "=ipsum="))
docEditor.replaceText(text)
docEditor.setCursorPosition(45)
assert docEditor.docAction(nwDocAction.SEL_PARA)
@@ -1222,7 +1222,7 @@ def testGuiEditor_TextManipulation(qtbot, nwGUI, projPath, ipsumText, mockRnd):
# Check Blocks
cursor = docEditor.textCursor()
cursor.clearSelection()
text = "### A Scene\n\n%s\n\n%s" % (parOne, parTwo)
text = f"### A Scene\n\n{parOne}\n\n{parTwo}"
docEditor.replaceText(text)
docEditor.setCursorPosition(45)
assert len(docEditor._selectedBlocks(cursor)) == 0
@@ -1231,15 +1231,15 @@ def testGuiEditor_TextManipulation(qtbot, nwGUI, projPath, ipsumText, mockRnd):
assert len(docEditor._selectedBlocks(cursor)) == 15
# Remove All
text = "### A Scene\n\n%s\n\n%s" % (parOne, parTwo)
text = f"### A Scene\n\n{parOne}\n\n{parTwo}"
docEditor.replaceText(text)
docEditor.setCursorPosition(45)
docEditor._removeInParLineBreaks()
assert docEditor.getText() == "### A Scene\n\n%s\n" % "\n\n".join(ipsumText[0:2])
assert docEditor.getText() == "### A Scene\n\n{0}\n".format("\n\n".join(ipsumText[0:2]))
# Remove in First Paragraph
# Second paragraphs should remain unchanged
text = "### A Scene\n\n%s\n\n%s" % (parOne, parTwo)
text = f"### A Scene\n\n{parOne}\n\n{parTwo}"
docEditor.replaceText(text)
cursor = docEditor.textCursor()
cursor.setPosition(16, QtMoveAnchor)
@@ -1260,7 +1260,7 @@ def testGuiEditor_TextManipulation(qtbot, nwGUI, projPath, ipsumText, mockRnd):
# Key Press Events
# ================
text = "### A Scene\n\n%s\n\n%s" % (parOne, parTwo)
text = f"### A Scene\n\n{parOne}\n\n{parTwo}"
docEditor.replaceText(text)
assert docEditor.getText() == text
@@ -1290,7 +1290,7 @@ def testGuiEditor_BlockFormatting(qtbot, monkeypatch, nwGUI, projPath, ipsumText
# Invalid and Generic
# ===================
text = "### A Scene\n\n%s" % ipsumText[0]
text = f"### A Scene\n\n{ipsumText[0]}"
docEditor.replaceText(text)
# Invalid Block
+10 -10
View File
@@ -276,11 +276,11 @@ def testGuiMainMenu_EditFormat(qtbot, monkeypatch, nwGUI, prjLipsum):
# Other Checks
# Replace Quotes
docEditor.setPlainText((
docEditor.setPlainText(
"### New Text\n\n"
"Text with 'single' quotes and 'tricky stuff's'.\n\n"
"Also text with \"double\" quotes which are \"less tricky\".\n\n"
))
)
mainMenu.aSelectAll.activate(QAction.ActionEvent.Trigger)
mainMenu.aFmtReplSng.activate(QAction.ActionEvent.Trigger)
@@ -299,14 +299,14 @@ def testGuiMainMenu_EditFormat(qtbot, monkeypatch, nwGUI, prjLipsum):
)
# Remove in-paragraph line breaks
docEditor.setPlainText((
docEditor.setPlainText(
"### New Text\n\n"
"@char: Someone\n"
"@location: Somewhere\n\n"
"% Some comment ...\n\n"
"Here is some text\non multiple\nlines.\n\n"
"With another paragraph\nhere."
))
)
mainMenu.aFmtRmBreaks.activate(QAction.ActionEvent.Trigger)
assert docEditor.getText() == (
"### New Text\n\n"
@@ -317,14 +317,14 @@ def testGuiMainMenu_EditFormat(qtbot, monkeypatch, nwGUI, prjLipsum):
"With another paragraph here.\n"
)
docEditor.setPlainText((
docEditor.setPlainText(
"### New Text\n\n"
"@char: Someone\n"
"@location: Somewhere\n\n"
"% Some comment ...\n\n"
"Here is some text\non multiple\nlines.\n\n"
"With another paragraph\nhere."
))
)
cursor = docEditor.textCursor()
cursor.setPosition(74)
cursor.movePosition(QtMoveRight, QtKeepAnchor, 29)
@@ -343,12 +343,12 @@ def testGuiMainMenu_EditFormat(qtbot, monkeypatch, nwGUI, prjLipsum):
assert not docEditor.docAction(nwDocAction.NO_ACTION)
# Test Invalid Formats
docEditor.setPlainText((
docEditor.setPlainText(
"### New Text\n\n"
"@tag: Bod\n\n"
"Text with 'single' quotes and 'tricky stuff's'.\n\n"
"Also text with \"double\" quotes which are \"less tricky\".\n\n"
))
)
# Cannot Format Tag
docEditor.setCursorPosition(17)
@@ -489,7 +489,7 @@ def testGuiMainMenu_Insert(qtbot, monkeypatch, nwGUI, fncPath, projPath, mockRnd
# Insert Keywords
# ===============
for action, key in zip(mainMenu.mInsKeywords.actions(), nwKeyWords.ALL_KEYS):
for action, key in zip(mainMenu.mInsKeywords.actions(), nwKeyWords.ALL_KEYS, strict=False):
docEditor.setPlainText("Stuff")
action.activate(QAction.ActionEvent.Trigger)
assert docEditor.getText() == f"Stuff\n{key}: "
@@ -503,7 +503,7 @@ def testGuiMainMenu_Insert(qtbot, monkeypatch, nwGUI, fncPath, projPath, mockRnd
# Insert Fields
# =============
for action, field in zip(mainMenu.mInsField.actions(), nwStats.ALL_FIELDS):
for action, field in zip(mainMenu.mInsField.actions(), nwStats.ALL_FIELDS, strict=False):
value = nwShortcode.FIELD_VALUE.format(field)
docEditor.setPlainText("Stuff ")
docEditor.setCursorPosition(6)