Add tags get function to index class
This commit is contained in:
@@ -621,6 +621,10 @@ class NWIndex:
|
|||||||
sTitle = self._tagsIndex.tagHeading(tagKey)
|
sTitle = self._tagsIndex.tagHeading(tagKey)
|
||||||
return tHandle, sTitle
|
return tHandle, sTitle
|
||||||
|
|
||||||
|
def getTags(self, itemClass: nwItemClass) -> list[str]:
|
||||||
|
"""Return all tags based on itemClass."""
|
||||||
|
return self._tagsIndex.filterTagNames(itemClass.name)
|
||||||
|
|
||||||
# END Class NWIndex
|
# END Class NWIndex
|
||||||
|
|
||||||
|
|
||||||
@@ -684,6 +688,12 @@ class TagsIndex:
|
|||||||
"""Get the class of a given tag."""
|
"""Get the class of a given tag."""
|
||||||
return self._tags.get(tagKey.lower(), {}).get("class", None)
|
return self._tags.get(tagKey.lower(), {}).get("class", None)
|
||||||
|
|
||||||
|
def filterTagNames(self, className: str) -> list[str]:
|
||||||
|
"""Get a list of tag names for a given class."""
|
||||||
|
return [
|
||||||
|
x.get("name", "") for x in self._tags.values() if x.get("class", "") == className
|
||||||
|
]
|
||||||
|
|
||||||
##
|
##
|
||||||
# Pack/Unpack
|
# Pack/Unpack
|
||||||
##
|
##
|
||||||
|
|||||||
@@ -196,6 +196,16 @@ def testCoreIndex_ScanThis(mockGUI):
|
|||||||
assert theBits == ["@tag", "this", "and this"]
|
assert theBits == ["@tag", "this", "and this"]
|
||||||
assert thePos == [0, 6, 12]
|
assert thePos == [0, 6, 12]
|
||||||
|
|
||||||
|
isValid, theBits, thePos = index.scanThis("@tag: this,, and this")
|
||||||
|
assert isValid is True
|
||||||
|
assert theBits == ["@tag", "this", "", "and this"]
|
||||||
|
assert thePos == [0, 6, 11, 13]
|
||||||
|
|
||||||
|
isValid, theBits, thePos = index.scanThis("@tag: this, , and this")
|
||||||
|
assert isValid is True
|
||||||
|
assert theBits == ["@tag", "this", "", "and this"]
|
||||||
|
assert thePos == [0, 6, 12, 14]
|
||||||
|
|
||||||
project.closeProject()
|
project.closeProject()
|
||||||
|
|
||||||
# END Test testCoreIndex_ScanThis
|
# END Test testCoreIndex_ScanThis
|
||||||
|
|||||||
Reference in New Issue
Block a user