Rename outdated function parameter in index class

This commit is contained in:
Veronica Berglyd Olsen
2024-01-15 15:48:45 +01:00
parent 427a910ec0
commit ca4aa75880
4 changed files with 33 additions and 30 deletions
+15 -12
View File
@@ -517,28 +517,28 @@ class NWIndex:
return None
def novelStructure(
self, rootHandle: str | None = None, skipExcl: bool = True
self, rootHandle: str | None = None, activeOnly: bool = True
) -> Iterator[tuple[str, str, str, IndexHeading]]:
"""Iterate over all titles in the novel, in the correct order as
they appear in the tree view and in the respective document
files, but skipping all note files.
"""
structure = self._itemIndex.iterNovelStructure(rHandle=rootHandle, skipExcl=skipExcl)
structure = self._itemIndex.iterNovelStructure(rHandle=rootHandle, activeOnly=activeOnly)
for tHandle, sTitle, hItem in structure:
yield f"{tHandle}:{sTitle}", tHandle, sTitle, hItem
return
def getNovelWordCount(self, skipExcl: bool = True) -> int:
def getNovelWordCount(self, activeOnly: bool = True) -> int:
"""Count the number of words in the novel project."""
wCount = 0
for _, _, hItem in self._itemIndex.iterNovelStructure(skipExcl=skipExcl):
for _, _, hItem in self._itemIndex.iterNovelStructure(activeOnly=activeOnly):
wCount += hItem.wordCount
return wCount
def getNovelTitleCounts(self, skipExcl: bool = True) -> list[int]:
def getNovelTitleCounts(self, activeOnly: bool = True) -> list[int]:
"""Count the number of titles in the novel project."""
hCount = [0, 0, 0, 0, 0]
for _, _, hItem in self._itemIndex.iterNovelStructure(skipExcl=skipExcl):
for _, _, hItem in self._itemIndex.iterNovelStructure(activeOnly=activeOnly):
iLevel = nwHeaders.H_LEVEL.get(hItem.level, 0)
hCount[iLevel] += 1
return hCount
@@ -551,14 +551,14 @@ class NWIndex:
return 0
def getTableOfContents(
self, rHandle: str | None, maxDepth: int, skipExcl: bool = True
self, rHandle: str | None, maxDepth: int, activeOnly: bool = True
) -> list[tuple[str, int, str, int]]:
"""Generate a table of contents up to a maximum depth."""
tOrder = []
tData = {}
pKey = None
for tHandle, sTitle, hItem in self._itemIndex.iterNovelStructure(
rHandle=rHandle, skipExcl=skipExcl
rHandle=rHandle, activeOnly=activeOnly
):
tKey = f"{tHandle}:{sTitle}"
iLevel = nwHeaders.H_LEVEL.get(hItem.level, 0)
@@ -646,12 +646,15 @@ class NWIndex:
"""Return all tags based on itemClass."""
return self._tagsIndex.filterTagNames(itemClass.name)
def getTagsData(self) -> Iterator[tuple[str, str, str, IndexItem | None, IndexHeading | None]]:
def getTagsData(
self, activeOnly: bool = True
) -> Iterator[tuple[str, str, str, IndexItem | None, IndexHeading | None]]:
"""Return all known tags."""
for tag, data in self._tagsIndex.items():
iItem = self._itemIndex[data.get("handle")]
hItem = None if iItem is None else iItem[data.get("heading")]
yield tag, data.get("name", ""), data.get("class", ""), iItem, hItem
if not activeOnly or (iItem and iItem.item.isActive):
yield tag, data.get("name", ""), data.get("class", ""), iItem, hItem
return
def getSingleTag(self, tagKey: str) -> tuple[str, str, IndexItem | None, IndexHeading | None]:
@@ -848,7 +851,7 @@ class ItemIndex:
return
def iterNovelStructure(
self, rHandle: str | None = None, skipExcl: bool = False
self, rHandle: str | None = None, activeOnly: bool = False
) -> Iterable[tuple[str, str, IndexHeading]]:
"""Iterate over all items and headers in the novel structure for
a given root handle, or for all if root handle is None.
@@ -856,7 +859,7 @@ class ItemIndex:
for tItem in self._project.tree:
if tItem.isNoteLayout():
continue
if skipExcl and not tItem.isActive:
if activeOnly and not tItem.isActive:
continue
tHandle = tItem.itemHandle
+1 -1
View File
@@ -674,7 +674,7 @@ class GuiNovelTree(QTreeWidget):
tStart = time()
logger.debug("Building novel tree for root item '%s'", rootHandle)
novStruct = SHARED.project.index.novelStructure(rootHandle=rootHandle, skipExcl=True)
novStruct = SHARED.project.index.novelStructure(rootHandle=rootHandle, activeOnly=True)
for tKey, tHandle, sTitle, novIdx in novStruct:
if novIdx.level == "H0":
continue
+1 -1
View File
@@ -646,7 +646,7 @@ class GuiOutlineTree(QTreeWidget):
headItem.setTextAlignment(
self._colIdx[nwOutline.PCOUNT], Qt.AlignmentFlag.AlignRight)
novStruct = SHARED.project.index.novelStructure(rootHandle=rootHandle, skipExcl=True)
novStruct = SHARED.project.index.novelStructure(rootHandle=rootHandle, activeOnly=True)
for _, tHandle, sTitle, novIdx in novStruct:
iLevel = nwHeaders.H_LEVEL.get(novIdx.level, 0)
+16 -16
View File
@@ -579,7 +579,7 @@ def testCoreIndex_ExtractData(mockGUI, fncPath, mockRnd):
project.tree[nHandle].setActive(False) # type: ignore
keys = []
for aKey, _, _, _ in index.novelStructure(skipExcl=False):
for aKey, _, _, _ in index.novelStructure(activeOnly=False):
keys.append(aKey)
assert keys == [
@@ -590,7 +590,7 @@ def testCoreIndex_ExtractData(mockGUI, fncPath, mockRnd):
]
keys = []
for aKey, _, _, _ in index.novelStructure(skipExcl=True):
for aKey, _, _, _ in index.novelStructure(activeOnly=True):
keys.append(aKey)
assert keys == [
@@ -761,7 +761,7 @@ def testCoreIndex_ExtractData(mockGUI, fncPath, mockRnd):
assert index.scanText(sHandle, "### Scene One\n\n") # type: ignore
assert index.scanText(tHandle, "### Scene Two\n\n") # type: ignore
assert [(h, t) for h, t, _ in index._itemIndex.iterNovelStructure(skipExcl=False)] == [
assert [(h, t) for h, t, _ in index._itemIndex.iterNovelStructure(activeOnly=False)] == [
(C.hTitlePage, "T0001"),
(C.hChapterDoc, "T0001"),
(C.hSceneDoc, "T0001"),
@@ -772,7 +772,7 @@ def testCoreIndex_ExtractData(mockGUI, fncPath, mockRnd):
(tHandle, "T0001"),
]
assert [(h, t) for h, t, _ in index._itemIndex.iterNovelStructure(skipExcl=True)] == [
assert [(h, t) for h, t, _ in index._itemIndex.iterNovelStructure(activeOnly=True)] == [
(C.hTitlePage, "T0001"),
(C.hChapterDoc, "T0001"),
(C.hSceneDoc, "T0001"),
@@ -783,7 +783,7 @@ def testCoreIndex_ExtractData(mockGUI, fncPath, mockRnd):
# Add a fake handle to the tree and check that it's ignored
project.tree._order.append("0000000000000")
assert [(h, t) for h, t, _ in index._itemIndex.iterNovelStructure(skipExcl=False)] == [
assert [(h, t) for h, t, _ in index._itemIndex.iterNovelStructure(activeOnly=False)] == [
(C.hTitlePage, "T0001"),
(C.hChapterDoc, "T0001"),
(C.hSceneDoc, "T0001"),
@@ -796,22 +796,22 @@ def testCoreIndex_ExtractData(mockGUI, fncPath, mockRnd):
project.tree._order.remove("0000000000000")
# Extract stats
assert index.getNovelWordCount(skipExcl=False) == 43
assert index.getNovelWordCount(skipExcl=True) == 15
assert index.getNovelTitleCounts(skipExcl=False) == [0, 3, 2, 3, 0]
assert index.getNovelTitleCounts(skipExcl=True) == [0, 1, 2, 3, 0]
assert index.getNovelWordCount(activeOnly=False) == 43
assert index.getNovelWordCount(activeOnly=True) == 15
assert index.getNovelTitleCounts(activeOnly=False) == [0, 3, 2, 3, 0]
assert index.getNovelTitleCounts(activeOnly=True) == [0, 1, 2, 3, 0]
# Table of Contents
assert index.getTableOfContents(C.hNovelRoot, 0, skipExcl=True) == []
assert index.getTableOfContents(C.hNovelRoot, 1, skipExcl=True) == [
assert index.getTableOfContents(C.hNovelRoot, 0, activeOnly=True) == []
assert index.getTableOfContents(C.hNovelRoot, 1, activeOnly=True) == [
(f"{C.hTitlePage}:T0001", 1, "New Novel", 15),
]
assert index.getTableOfContents(C.hNovelRoot, 2, skipExcl=True) == [
assert index.getTableOfContents(C.hNovelRoot, 2, activeOnly=True) == [
(f"{C.hTitlePage}:T0001", 1, "New Novel", 5),
(f"{C.hChapterDoc}:T0001", 2, "New Chapter", 4),
(f"{hHandle}:T0001", 2, "Chapter One", 6),
]
assert index.getTableOfContents(C.hNovelRoot, 3, skipExcl=True) == [
assert index.getTableOfContents(C.hNovelRoot, 3, activeOnly=True) == [
(f"{C.hTitlePage}:T0001", 1, "New Novel", 5),
(f"{C.hChapterDoc}:T0001", 2, "New Chapter", 2),
(f"{C.hSceneDoc}:T0001", 3, "New Scene", 2),
@@ -820,8 +820,8 @@ def testCoreIndex_ExtractData(mockGUI, fncPath, mockRnd):
(f"{tHandle}:T0001", 3, "Scene Two", 2),
]
assert index.getTableOfContents(C.hNovelRoot, 0, skipExcl=False) == []
assert index.getTableOfContents(C.hNovelRoot, 1, skipExcl=False) == [
assert index.getTableOfContents(C.hNovelRoot, 0, activeOnly=False) == []
assert index.getTableOfContents(C.hNovelRoot, 1, activeOnly=False) == [
(f"{C.hTitlePage}:T0001", 1, "New Novel", 9),
(f"{nHandle}:T0001", 1, "Hello World!", 12),
(f"{nHandle}:T0002", 1, "Hello World!", 22),
@@ -1173,7 +1173,7 @@ def testCoreIndex_ItemIndex(mockGUI, fncPath, mockRnd):
# Skip excluded
project.tree[sHandle].setActive(False) # type: ignore
nStruct = list(itemIndex.iterNovelStructure(skipExcl=True))
nStruct = list(itemIndex.iterNovelStructure(activeOnly=True))
assert len(nStruct) == 3
assert nStruct[0][0] == nHandle
assert nStruct[1][0] == cHandle